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

Joan Carmona jcmld en carmonarocha.com
Vie Mar 28 21:40:29 CET 2014


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