[R-es] Filtrar columnas a partir de una lista
Fernando Macedo
fermace en gmail.com
Vie Mar 28 21:20:05 CET 2014
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
Más información sobre la lista de distribución R-help-es