[R-es] Filtrar columnas a partir de una lista

Fernando Macedo fermace en gmail.com
Sab Mar 29 00:34:37 CET 2014


Es exatamente eso lo que buscaba. Nunca se me ocurrio usar el %in% en la 
parte de las columnas...
Muchas gracias!

Saludos

Fernando


El 28/03/14 17:40, Joan Carmona escribió:
> Hola Fernando,
>
> No sé si acabo de entender tu problema. No sé si lo que quieres es mostrar
> las columnas que tengas (o las que no tengas) en un vector con los nombres
> de las mismas. Si se trata de esto , basta con hacer algo del estilo:
>
> data[,!(colnames(data) %in% filtro$Muestra)]
>
>     ID f3 R4
> 1   A 23 34
> 2   B 24 35
> 3   C 25 36
> 4   D 26 37
> 5   E 27 38
> 6   F 28 39
> 7   G 29 40
> 8   H 30 41
> 9   I 31 42
> 10  J 32 43
>
> Saludos,
> Juan Carmona.
>
> -----Mensaje original-----
> De: r-help-es-bounces en r-project.org [mailto:r-help-es-bounces en r-project.org]
> En nombre de Fernando Macedo
> Enviado el: viernes, 28 de marzo de 2014 21:20
> Para: Lista R
> Asunto: [R-es] Filtrar columnas a partir de una lista
>
> Buenas a todos, tenía este problema y no soy capaz de encontrar la solución,
> aunque me imagino que será una tontería.
>
> Mi intención es filtrar un marco de datos pero no por filas sino por
> columnas partiendo de una lista previa.
>
> Por ejemplo el filtro por filas podría ser de este tipo
>
> subset(x, x$ID%in%z$ID2==T)
>
> así logro facilmente filtrar datos por filas de otro marco de datos.
>
> Pero eso mismo quiero hacerlo por columnas.
>
> Les paso un ejemplo de lo que quiero hacer:
> ###############
>
> S1=1:10
> f3=23:32
> s5=11:20
> R4=34:43
> # El archivo de datos
> data=data.frame(ID=LETTERS[1:10],S1,f3,s5,R4)
>
> # Archivo del cual voy a filtrar
> filtro=data.frame(Muestra=c("S1","s5"), LoQueSea=c(2,3))
>
> # Como deberia quedar
> final=data[,-c(2,4)]
>
> ######################
>
> Podría hacer un t(data) y filtrarlo como en filas pero usando rownames en
> vez de una variable, pero el problema es que se tratan de por ejemplo
> 150 variables por 600000 filas, por lo que intenté pero descarte la opción
> pues casi se me cuelga la maquina (Ubuntu 13.10, i5, 4G ram).
>
> Supongo que habrá una función que estoy pasando por alto pero no he logrado
> encontrarla.
> Espero poder haberme explicado.
> Saludos y gracias de antemano.
>
> Fernando
>
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>



Más información sobre la lista de distribución R-help-es