2012-09-25 13 views
7

Es probable que sea una pregunta para un novato pero creo que hice mi tarea y aún no encontré la respuesta (espero encontrarla) así que la publico aquí para buscar algo de ayudaPara ver todo el contenido (no solo objetos) en un paquete en R

Se hicieron preguntas similares antes, pero de lo que he encontrado, no hay respuesta podría ayudarme con la edición actual, excepto una solución "cara", lo que requiere un editor para R.

supe que ls y objects nos permiten para ver los objetos dentro de un paquete. Pero incluso con ls(all.names=TRUE), todavía no podía ver todo el contenido. Alguien sugirió ls(getNAMEspace) pero aún así esto no es "lo suficientemente bueno" para mí.

p. Ej.

>search() 
[1]".GlobalEvn"  "package:TCGAGBM" 
>ls("package:TCGAGBM") 
character(0) 
>ls(getNamespace("TCGAGBM"),all.names=TRUE) 
[1]"._NAMESPACE_." "._S3MethodsTable_." ".packageName" 

Sin embargo, en C (cmd), veo el siguiente

C: \ Users \ XYZ \ Documents \ R \ R-2.15.1 \ biblioteca \ TCGAGBM . .. ...... extdata de datos (en total 3 archivo (s), 7 Dir (s))

me encontré con esta "discrepancia" cuando vi la siguiente línea de la escritura -

>clinical=read.delim(system.file(
+"extdata/Clinical/clinical_patient_public_GBM.txt.gz", 
+package="TCGAGBM"), header=TRUE) 

Por lo tanto, me preguntaba si hay una manera bajo R de ver TODO el contenido dentro de un paquete para que podamos "saber" cómo utilizar mejor el paquete. Vignette probablemente ayudaría, pero en mi limitada experiencia con R hasta ahora, he descubierto que algunos paquetes no vienen con Vignette.

Cualquier comentario será apreciado para ayudar a aprender más sobre R.

+2

¿Desea ver todos los archivos de código fuente, etc.? Si desea ver el contenido del directorio del paquete, pruebe algo como 'list.files (system.file (package = 'TCGAGBM'), recursive = T, full.names = T))' - pero esto dependerá del sistema operativo como a cuánto ves realmente debido a la forma en que los paquetes 'R' están empaquetados para windows/linux, etc. – mnel

+0

tal vez' data (paquete = 'TCGAGBM') ' – GSee

+0

Según google' TCGAGBM r package', parece que hay un tutorial para este paquete en http://watson.nci.nih.gov/~sdavis/tutorials/TCGA_data_integration/. ¿Quizás es mejor comenzar por seguir eso? Excavar en las partes internas de un paquete es el último recurso ... –

Respuesta

5

Mi enfoque preferido , con mucho, es simplemente mirar el código fuente de un paquete en cuestión.

De hecho, realmente lo hago con bastante frecuencia ya que al ejecutar CRANberries se crea un espejo CRAN local como efecto secundario. Pero incluso si no lo hace, los paquetes CRAN realmente están a solo una descarga rápida y vendrán con los comentarios en la fuente que excluye el código analizado.

Edición: acabo de encontrar lo que Ben encontró también: página de Sean Davis en http://watson.nci.nih.gov/~sdavis/tutorials/TCGA_data_integration/ - parece que utiliza algunos paquetes bioc también. Todavía estudiaría la fuente que a menudo tiene más comentarios, anotaciones, extras, ... que el paquete instalado. Pero tal vez esa es solo mi preferencia. YMMV como dicen.

+0

Muchas gracias, muchachos. Para mnel, creo que por ahora list.files hará el trabajo. Para Ben, leí el tutorial, pero estaba pensando (mientras lo leía) ¿y si no tuviera el tutorial, cómo sabría que hay una "extdata" para extraer más información? Muchas gracias por toda la información útil ya que solo soy un bebé R de 3 meses que sigue encontrando mi camino. –

+0

@BChen: Es un placer y bienvenido a StackOverflow. Es costumbre anunciar una buena respuesta (que puede o no haber hecho) y aceptar una si se considera útil. –

2

Si quiere ver todos los archivos del sistema para un Pacakges particulares

Pruebe algo como

list.files(system.file(package = 'TCGAGBM'), recursive = T, full.names = T)) 

la utilidad de esta será dependerá de su sistema operativo, ya que la forma en que se instalan los paquetes depende del sistema operativo Para obtener más información, consulte la sección correspondiente en R Installation and Administration manual.

NOTA

@ sugerencia de la inspección de la fuente de DirkEddelbuettel es una mucho mejor enfoque.

+0

dará seguimiento a esto, pero a partir de ahora, el bebé no puede saber cómo usar un "diccionario" aún –

3

Aquí hay otra forma de explorar la funcionalidad de cualquier paquete. Aunque no es una solución tan completa como la de Dirk, sigue siendo útil. Cuando quiero saber toda la funcionalidad de un paquete, lista rápidamente todas sus funciones. Entonces, si tengo curiosidad acerca de cualquier función, rápidamente saco el archivo de ayuda ?function_name y veo qué hace. Por esa razón, mantengo esta función en mi .rprofile por lo que se carga automáticamente cada vez que ejecuto R.

lsp <- function (package, all.names = FALSE, pattern) { 
    package <- deparse(substitute(package)) 
    ls(pos = paste("package", package, sep = ":"), all.names = all.names, 
     pattern = pattern) 
} 

Esto es especialmente útil cuando conozco el nombre parcial de una función y el paquete al que pertenece, pero necesito encontrarlo rápidamente.

p. Ej.

> lsp(ggplot2, pattern = "geom") 
[1] "geom_abline"   "geom_area"   
[3] "geom_bar"    "geom_bin2d"   
[5] "geom_blank"   "geom_boxplot"   
[7] "geom_contour"   "geom_crossbar"  
[9] "geom_density"   "geom_density2d"  
[11] "geom_dotplot"   "geom_errorbar"  
[13] "geom_errorbarh"  "geom_freqpoly"  
[15] "geom_hex"    "geom_histogram"  
[17] "geom_hline"   "geom_jitter"   
[19] "geom_line"   "geom_linerange"  
[21] "geom_map"    "geom_path"   
[23] "geom_point"   "geom_pointrange"  
[25] "geom_polygon"   "geom_quantile"  
[27] "geom_raster"   "geom_rect"   
[29] "geom_ribbon"   "geom_rug"    
[31] "geom_segment"   "geom_smooth"   
[33] "geom_step"   "geom_text"   
[35] "geom_tile"   "geom_violin"   
[37] "geom_vline"   "update_geom_defaults" 
+0

Eso está bien. He estado usando TAB en ESS, que da más o menos lo mismo, pero esto filtra los nombres internos de distancia. Nota desagradable: tienes la abrazadera de apertura en el lugar equivocado :) Estilo R Core todo el camino. –

+0

¿Es demasiado difícil recordar esta sintaxis 'ls ('paquete: ggplot2', patrón = 'geom')'? Si de todos modos va a consultar las páginas de ayuda para las funciones siguientes, tal vez 'help (package =' ggplot2 ', help_type =' html ') 'sea más apropiado. – GSee

+0

mucho menos tipeo. – Maiasaura

Cuestiones relacionadas