Buscando ayuda
Resumen
Enseñando: 10 min
Ejercicios: 10 minPreguntas
¿Cómo puedo obtener ayuda en R?
Objectivos
Poder leer archivos de ayuda de R, para funciones y operadores especiales
Poder usar vistas de tareas CRAN para identificar paquetes para resolver un problema
Para poder buscar ayuda de tus compañeros
Palabras clave
Comando : Traducción
help
: ayuda
vignette
: viñeta
Lectura de archivos de ayuda
R, y cada paquete, proporciona archivos de ayuda para las funciones. La sintaxis general para buscar ayuda en cualquier función, “function_name”, de una función específica que esté en un paquete cargado dentro de tu namespace (tu sesión interactiva en R):
?function_name
help(function_name)
Esto cargará una página de ayuda en RStudio (o como texto sin formato en R por sí mismo).
Cada página de ayuda se divide en secciones:
- Descripción: una descripción extendida de lo que hace la función.
- Uso: los argumentos de la función y sus valores predeterminados.
- Argumentos: una explicación de los datos que espera cada argumento.
- Detalles: cualquier detalle importante a tener en cuenta.
- Valor: los datos que regresa la función.
- Ver también: cualquier función relacionada que pueda serte útil.
- Ejemplos: algunos ejemplos de cómo usar la función.
Las diferentes funciones pueden tener diferentes secciones, pero estas son las principales que debes tener en cuenta.
Sugerencia: Lectura de archivos de ayuda
Uno de los aspectos más desalentadores de R es la gran cantidad de funciones disponibles. Es muy difícil, si no imposible, recordar el uso correcto para cada función que usas. Afortunadamente, están los archivos de ayuda ¡lo que significa, que no tienes que hacerlo!
Operadores especiales
Para buscar ayuda en operadores especiales, usa comillas:
?"<-"
Obteniendo ayuda en los paquetes
Muchos paquetes vienen con “viñetas”: tutoriales y documentación de ejemplo extendida.
Sin ningún argumento, vignette()
listará todas las viñetas disponibles para todos los paquetes instalados;
vignette(package="package-name")
listará todas las viñetas disponibles para
package-name
, y vignette("vignette-name")
abrirá la viñeta especificada.
Si un paquete no tiene viñetas, generalmente puedes encontrar ayuda escribiendo
help("package-name")
.
Cuando recuerdas un poco sobre la función
Si no estás seguro de en qué paquete está una función, o cómo se escribe específicamente, puedes hacer una búsqueda difusa:
??function_name
Cuando no tienes idea de dónde comenzar
Si no sabes qué función o paquete necesitas usar, utiliza CRAN Task Views es una lista especialmente mantenida de paquetes agrupados en campos. Este puede ser un buen punto de partida.
Cuando tu código no funciona: busca ayuda de tus compañeros
Si tienes problemas para usar una función, 9 de cada 10 veces,
las respuestas que estas buscando ya han sido respondidas en
Stack Overflow. Puedes buscar usando
la etiqueta [r]
.
Si no puedes encontrar la respuesta, hay algunas funciones útiles para ayudarte a hacer una pregunta a tus compañeros:
?dput
Descargará los datos con los que estás trabajando en un formato para que puedan ser copiados y pegados por cualquier otra persona en su sesión de R.
sessionInfo()
R version 3.5.2 (2018-12-20)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS Mojave 10.14.2
Matrix products: default
BLAS: /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRblas.0.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRlapack.dylib
locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] checkpoint_0.4.5 stringr_1.3.1 knitr_1.21
loaded via a namespace (and not attached):
[1] compiler_3.5.2 magrittr_1.5 tools_3.5.2 stringi_1.2.4
[5] xfun_0.3 evaluate_0.11
Imprimirá tu versión actual de R, así como cualquier paquete que hayas cargado. Esto puede ser útil para otros para ayudar a reproducir y depurar tu problema.
Desafío 1
Buscar la ayuda para la función
c
. ¿Qué tipo de vector crees que crearás si evalúas lo siguiente?:c(1, 2, 3) c('d', 'e', 'f') c(1, 2, 'f')
Solución al desafío 1
La función
c()
crea un vector, en el cual todos los elementos son del mismo tipo. En el primer caso, los elementos son numéricos, en el segundo, son character, y en el tercero son character: los valores numéricos son “forzados” para ser characters.
Desafío 2
Buscar la ayuda para la función
paste
. Tendrás que usar esto más tarde. ¿Cuál es la diferencia entre los argumentossep
ycollapse
?Solución para el desafío 2
Busca la ayuda de la función
paste()
, usa:help("paste") ?paste
La diferencia entre
sep
ycollapse
es un poco complicada. La funciónpaste
acepta cualquier número de argumentos, cada uno de los cuales puede ser un vector de cualquier longitud. El argumentosep
especifica la cadena usada entre términos concatenados — por defecto, un espacio. El resultado es un vector tan largo como el argumento más largo proporcionado apaste
. En cambio,collapse
especifica que después de la concatenación los elementos son colapsados juntos utilizando el separador dado, y el resultado es una sola cadena. e.g.paste(c("a","b"), "c")
[1] "a c" "b c"
paste(c("a","b"), "c", sep = ",")
[1] "a,c" "b,c"
paste(c("a","b"), "c", collapse = "|")
[1] "a c|b c"
paste(c("a","b"), "c", sep = ",", collapse = "|")
[1] "a,c|b,c"
(Para más información, ve a la parte inferior de la página de ayuda
?paste
y busca los ejemplos, o pruebaexample('paste')
.)
Desafío 3
Usa la ayuda para encontrar una función (y sus parámetros asociados) que tu puedas usar para cargar datos de un archivo csv en los cuales las columnas están delimitadas con “\ t” (tab) y el punto decimal es un “.” (punto). Esta comprobación para el separador decimal es importante, especialmente si estás trabajando con colegas internacionales ya que diferentes países tienen diferentes convenciones para el punto decimal (i.e. coma vs. punto). sugerencia: usa
??csv
para buscar funciones relacionadas con csv.Solución para el desafío 3
La función R estándar para leer archivos delimitados por tabuladores con un separador de punto decimal es
read.delim()
. Tu puedes hacer esto también conread.table(file, sep="\t")
(el punto es el separador decimal por defecto pararead.table()
, aunque es posible que tengas que cambiar también el argumentocomment.char
si tu archivo de datos contiene caracteres numeral (#)
Otros recursos útiles
Puntos Clave
Usar
help()
para obtener ayuda online de R.