Diez funciones útiles de R que quizás no conozcas

Diez funciones útiles de R que quizás no conozcas

R está lleno de una variedad de funciones. A continuación daré diez de los más interesantes, que quizás muchos no conozcan. El artículo apareció después de que descubrí que mis compañeros programadores recibieron con entusiasmo mis historias sobre algunas de las características de R que uso en mi trabajo. Si ya sabes todo sobre esto, te pido disculpas por hacerte perder el tiempo. Al mismo tiempo, si tienes algo que compartir, recomienda algo útil en los comentarios.

Skillbox recomienda: Curso práctico "Desarrollador de Python".

Recordamos: para todos los lectores de "Habr": un descuento de 10 rublos al inscribirse en cualquier curso de Skillbox utilizando el código promocional "Habr".

función de interruptor

Realmente me gusta switch(). De hecho, es una abreviatura conveniente para una declaración if al seleccionar un valor en función del valor de otra variable. Esto me parece especialmente útil cuando escribo código que necesita cargar un conjunto específico de datos en función de una selección previa. Por ejemplo, si tienes una variable llamada animal y quieres seleccionar un conjunto de datos específico dependiendo de si el animal es un perro, un gato o un conejo, escribe esto:

datos < - leer.csv (
interruptor (animal,
"perro" = "perrodata.csv",
"gato" = "catdata.csv",
"conejo" = "conejodata.csv")
)

Esta característica será útil en aplicaciones Shiny donde necesita cargar diferentes conjuntos de datos o archivos de entorno dependiendo de uno o más elementos del menú de entrada.

Teclas de acceso rápido para RStudio

Este truco no es tanto para R, sino para RStudio IDE. Sin embargo, las teclas de acceso rápido siempre son muy convenientes y le permiten ahorrar tiempo al ingresar texto. Mis favoritos son Ctrl+Shift+M para el operador %>% y Alt+- para el operador <-.

Para ver todas las teclas de acceso rápido, simplemente presione Alt+Shift+K en RStudio.

paquete de tablero flexible

Cuando necesite iniciar rápidamente su panel Shiny, no hay nada mejor que el paquete de panel. Proporciona la posibilidad de trabajar con atajos HTML, lo que a su vez hace que sea fácil y sin complicaciones crear barras laterales, filas y columnas. También existe la posibilidad de utilizar una barra de título, que le permite colocarla en diferentes páginas de la aplicación, dejar iconos, accesos directos en Github, direcciones de correo electrónico y mucho más.

El paquete le permite trabajar dentro de Rmarkdown, por lo que puede colocar todas las aplicaciones en un archivo Rmd y no distribuirlas entre diferentes servidores y archivos UI, como se hace, por ejemplo, usando shinydashboard. Utilizo flexdashboard siempre que necesito crear un prototipo de panel simple antes de trabajar en algo complejo. Esta función le permite crear un prototipo en una hora.

solicitar y validar funciones en R Shiny

Desarrollar en R Shiny puede resultar confuso, especialmente cuando sigues recibiendo mensajes de error extraños que dificultan la comprensión de lo que está sucediendo. Pero con el tiempo, Shiny se desarrolla y mejora, aquí aparecen cada vez más funciones que le permiten comprender la causa del error. Entonces, req() resuelve el problema con un error "silencioso", cuando generalmente no está claro qué está pasando. Le permite mostrar elementos de la interfaz de usuario asociados con acciones anteriores. Expliquemos con un ejemplo:

salida$go_button < — shiny::renderUI({

# solo muestra el botón si se ha elegido una entrada de animal

brillante::req(entrada$animal)

# botón de visualización

shiny::actionButton("ir",
pegar("Conducta", input$animal, "¡análisis!")
)
})

validar() verifica todo antes de renderizar y le da la opción de imprimir un mensaje de error, por ejemplo, que el usuario cargó el archivo incorrecto:

# obtener archivo de entrada csv

enArchivo < — entrada$archivo1
datos < — enArchivo$rutadedatos

# renderizar la tabla solo si se trata de perros

brillante::renderTable({
#comprueba que sea el archivo de perros, no de gatos o conejos
brillante::validar(
need("Nombre del perro" %in% colnames(data)),
"No se encontró la columna Nombre del perro. ¿Cargaste el archivo correcto?"
)

datos
})

Más información sobre todas estas características se puede encontrar aquí.

Almacenar sus credenciales usted mismo en el entorno del sistema

Si planea compartir código que requiere que ingrese credenciales, use el entorno del sistema para evitar alojar sus propias credenciales en Github u otro servicio. Colocación de ejemplo:

Sys.setenv(
DSN = "nombre_base_datos",
UID = "ID de usuario",
PASA = "Contraseña"
)

Ahora puedes iniciar sesión usando variables de entorno:

base de datos < — DBI::dbConnect(
drv = odbc::odbc(),
dsn = Sys.getenv("DSN"),
uid = Sys.getenv("UID"),
pwd = Sys.getenv("PASAR")
)

Es aún más conveniente (especialmente si usa los datos con frecuencia) configurarlos como variables de entorno directamente en el sistema operativo. En este caso siempre estarán disponibles y no tendrás que especificarlos en el código.

Automatiza tidyverse con styler

El paquete styler puede ayudarte a limpiar tu código; tiene muchas opciones para traer automáticamente el estilo del código a tidyverse. Todo lo que necesitas hacer es ejecutar styler::style_file() en tu script problemático. El paquete hará mucho (pero no todo) para restablecer el orden.

Parametrización de documentos R Markdown

Así que has creado un excelente documento de R Markdown en el que analizas varios datos sobre los perros. Y entonces se te ocurre que sería mejor hacer el mismo trabajo, pero sólo con gatos. No hay problema, puedes automatizar la creación de informes de gatos con un solo comando. Para hacer esto, solo necesita parametrizar su documento de rebajas de R.

Puede hacer esto configurando parámetros para el encabezado YAML en el documento especificado y luego configurando los parámetros de valor.

— título: “Análisis animal”
autor: "Keith McNulty"
fecha: "21 de marzo de 2019"
salida:
documento_html:
code_folding: "ocultar"
parámetros:
nombre_animal:
valor: perro
opciones:
-Perro
-Gato
- Conejo
años de estudio:
entrada: control deslizante
mínimo: 2000
máx: 2019
paso 1
la ronda 1
sep: "
valor: [2010, 2017] -

Ahora puede registrar todas las variables en el código del documento como params$animal_name y params$years_of_study. Luego usaremos el menú desplegable Tejer (o knit_with_parameters()) y podremos seleccionar parámetros.

Diez funciones útiles de R que quizás no conozcas

revelajs

revelajs es un paquete que le permite crear excelentes presentaciones HTML con código R integrado, navegación intuitiva y menús deslizantes. Los atajos HTML le permiten crear rápidamente una estructura de diapositiva anidada con diferentes opciones de estilo. Bueno, HTML se ejecutará en cualquier dispositivo, por lo que la presentación se puede abrir en cualquier teléfono, tableta o computadora portátil. La divulgación de información se puede configurar instalando el paquete y llamándolo en el encabezado YAML. He aquí un ejemplo:

- título: "Exponiendo los límites del universo de People Analytics"
autor: "Keith McNulty"
salida:
revelarjs::revealjs_presentación:
centro: si
plantilla:starwars.html
tema: negro
fecha: “HR Analytics Meetup Londres – 18 de marzo de 2019”
archivos_recursos:
— darth.png
- estrella de la muerte.png
- hanchewy.png
- milenio.png
- r2d2-trespio.png
-starwars.html
—starwars.png
—Soldado de asalto.png
-

Código fuente de presentación publicado aquíy ella mismarpubs.com/keithmcnulty/hr_meetup_london'>presentación - aquí.

Diez funciones útiles de R que quizás no conozcas

Etiquetas HTML en R Shiny

La mayoría de los programadores no aprovechan al máximo las etiquetas HTML que tiene R Shiny. Pero estas son sólo 110 etiquetas, que permiten crear una breve llamada a una función HTML o reproducción multimedia. Por ejemplo, recientemente utilicé etiquetas$audio para reproducir un sonido de "victoria" que alertaba al usuario cuando se completaba una tarea.

paquete de alabanza

Usar este paquete es muy simple, pero es necesario para elogiar al usuario. Parece extraño, pero en realidad les gusta.

Diez funciones útiles de R que quizás no conozcas

Skillbox recomienda:

Fuente: habr.com

Añadir un comentario