10 funcións R útiles que quizais non coñezas

10 funcións R útiles que quizais non coñezas

R está cheo dunha variedade de funcións. A continuación darei dez dos máis interesantes deles, que quizais moitos non coñezan. O artigo apareceu despois de que descubrín que as miñas historias sobre algunhas das características de R que uso no meu traballo foron recibidas con entusiasmo por compañeiros programadores. Se xa sabes todo sobre isto, desculpas por perder o teu tempo. Ao mesmo tempo, se tes algo que compartir, recomenda algo útil nos comentarios.

Skillbox recomenda: Curso práctico "Desenvolvedor Python".

Recordámolo: para todos os lectores de "Habr" - un desconto de 10 rublos ao inscribirse en calquera curso de Skillbox usando o código promocional "Habr".

función de cambio

Gústame moito switch(). De feito, é unha abreviatura conveniente para unha instrución if cando se selecciona un valor en función do valor doutra variable. Paréceme especialmente útil cando escribo código que necesita cargar un conxunto específico de datos baseado nunha selección anterior. Por exemplo, se tes unha variable chamada animal e queres seleccionar un conxunto específico de datos dependendo de se o animal é un can, un gato ou un coello, escribe isto:

datos < — read.csv(
interruptor (animal,
"dog" = "dogdata.csv",
"cat" = "catdata.csv",
"rabbit" = "rabbitdata.csv")
)

Esta función será útil nas aplicacións Shiny nas que necesites cargar diferentes conxuntos de datos ou ficheiros do contorno dependendo dun ou máis elementos do menú de entrada.

Teclas rápidas para RStudio

Este hack non é tanto para R, senón para RStudio IDE. Non obstante, as teclas de acceso rápido son sempre moi convenientes, o que lle permite aforrar tempo ao introducir texto. Os meus favoritos son Ctrl+Maiús+M para o operador %>% e Alt+- para o operador <-.

Para ver todas as teclas de acceso rápido, simplemente prema Alt+Maiús+K en RStudio.

paquete flexdashboard

Cando necesites iniciar rapidamente o teu panel de control Shiny, nada mellor que o paquete do panel de control. Ofrece a posibilidade de traballar con atallos HTML, que á súa vez fan que sexa fácil e sen complicacións a creación de barras laterais, filas e columnas. Tamén existe a posibilidade de utilizar unha barra de título, que permite colocala en diferentes páxinas da aplicación, deixar iconas, atallos en Github, enderezos de correo electrónico e moito máis.

O paquete permítelle traballar no marco de Rmarkdown, polo que pode colocar todas as aplicacións nun ficheiro Rmd e non distribuílas en diferentes servidores e ficheiros de IU, como se fai, por exemplo, usando shinydashboard. Utilizo flexdashboard sempre que necesito crear un prototipo de panel sinxelo antes de traballar en algo complexo. Esta función permítelle crear un prototipo nunha hora.

req e valida funcións en R Shiny

Desenvolver en R Shiny pode ser confuso, especialmente cando segues recibindo mensaxes de erro estrañas que dificultan entender o que está a suceder. Pero co paso do tempo, Shiny desenvolve e mellora, aparecen cada vez máis funcións aquí que che permiten comprender a causa do erro. Entón, req() resolve o problema cun erro "silencioso", cando xeralmente non está claro o que está a pasar. Permítelle mostrar elementos da interface de usuario asociados a accións anteriores. Imos explicar cun exemplo:

output$go_button < — shiny::renderUI({

# só botón de visualización se se escolleu unha entrada de animal

brillante::req(entrada$animal)

# botón de visualización

shiny::actionButton("ir",
pegar("Conduta", entrada$animal, "análise!")
)
})

validate() comproba todo antes de renderizar e dálle a opción de imprimir unha mensaxe de erro, por exemplo, que o usuario cargou o ficheiro incorrecto:

# obter o ficheiro de entrada csv

inFicheiro < — input$file1
datos < — inFile$datapath

# render táboa só se é cans

shiny::renderTable({
# comproba que é o ficheiro de cans, non gatos ou coellos
brillante::validar(
need("Nome do can" %en% colnames(datos)),
"Non se atopou a columna do nome do can; cargaches o ficheiro correcto?"
)

datos
})

Máis información sobre todas estas funcións pódese atopar aquí.

Almacenando as súas credenciais no entorno do sistema

Se pensas compartir código que require que ingreses as credenciais, utiliza o entorno do sistema para evitar aloxar as túas propias credenciais en Github ou noutro servizo. Exemplo de colocación:

Sys.setenv(
DSN = "nome_base de datos",
UID = "ID de usuario",
PASS = "Contrasinal"
)

Agora podes iniciar sesión usando variables de ambiente:

db < — DBI::dbConnect(
drv = odbc::odbc(),
dsn = Sys.getenv("DSN"),
uid = Sys.getenv("UID"),
pwd = Sys.getenv("PASS")
)

É aínda máis cómodo (especialmente se usa os datos con frecuencia) configuralos como variables de ambiente directamente no sistema operativo. Neste caso, sempre estarán dispoñibles e non terás que especificalos no código.

Automatiza Tidyverse con Styler

O paquete styler pode axudarche a limpar o teu código; ten moitas opcións para incorporar automaticamente o estilo de código a tidyverse. Todo o que tes que facer é executar styler::style_file() no teu script problemático. O paquete fará moito (pero non todo) para restaurar a orde.

Parametrización de documentos R Markdown

Así que creaches un excelente documento de R Markdown no que analizas varios feitos sobre os cans. E entón ocórreseche que sería mellor facer o mesmo traballo, pero só con gatos. Non hai problema, podes automatizar a creación de informes de gatos cun só comando. Para iso, só tes que parametrizar o teu documento R markdown.

Podes facelo configurando os parámetros para a cabeceira YAML no documento especificado e, a continuación, configurando os parámetros de valor.

- Título: "Análise de animais"
autor: "Keith McNulty"
Data: "21 de marzo de 2019"
saída:
html_document:
code_folding: "ocultar"
parámetros:
nome_animal:
valor: can
opcións:
—Can
— Gato
- Coello
anos_de_estudos:
entrada: control deslizante
mín.: 2000
máximo: 2019
paso 1
rolda: 1
sep: "
valor: [2010, 2017] —

Agora podes rexistrar todas as variables do código do documento como params$animal_name e params$years_of_study. Despois usaremos o menú despregable Knit (ou knit_with_parameters()) e poderemos seleccionar parámetros.

10 funcións R útiles que quizais non coñezas

revela

revelajs é un paquete que che permite crear excelentes presentacións HTML con código R incorporado, navegación intuitiva e menús de diapositivas. Os atallos HTML permítenche crear rapidamente unha estrutura de diapositivas aniñadas con diferentes opcións de estilo. Ben, HTML funcionará en calquera dispositivo, polo que a presentación pódese abrir en todos os teléfonos, tabletas ou portátiles. A divulgación de información pódese configurar instalando o paquete e chamándoo na cabeceira YAML. Aquí tes un exemplo:

— título: "Exportando o límite do universo de analítica de persoas"
autor: "Keith McNulty"
saída:
revelajs::presentación_revealjs:
centro: si
modelo:starwars.html
tema: negro
data: "HR Analytics Meetup Londres - 18 de marzo de 2019"
ficheiros_recursos:
— darth.png
- deathstar.png
- hanchewy.png
- milenio.png
- r2d2-threepio.png
-starwars.html
—starwars.png
—stormtrooper.png
-

Código fonte da presentación publicado aquí, e ela mesmarpubs.com/keithmcnulty/hr_meetup_london'>presentación - aquí.

10 funcións R útiles que quizais non coñezas

Etiquetas HTML en R Shiny

A maioría dos programadores non aproveitan ao máximo as etiquetas HTML que ten R Shiny. Pero estas son só 110 etiquetas, que permiten crear unha chamada curta para unha función HTML ou reprodución multimedia. Por exemplo, recentemente usei tags$audio para reproducir un son de "vitoria" que alertaba ao usuario cando se completaba unha tarefa.

Paquete de eloxios

Usar este paquete é moi sinxelo, pero é necesario para mostrar eloxios ao usuario. Parece raro, pero en realidade gústalles.

10 funcións R útiles que quizais non coñezas

Skillbox recomenda:

Fonte: www.habr.com

Engadir un comentario