Skip to content

[R-es] Ayuda con Subset

3 messages · Rafael Saturno, Carlos J. Gil Bellosta, Klaus Langohr

#
Hola Comunidad, tengo este problema con una data
La data es bastante grande, y necesito filtrarla por un campo en especifico segun lo que me interesa,con Subset puedo filtrar de la siguiente manera
T <- rbind(data.frame(v1=rep("x",5),v2=sample(1:5)),data.frame(v1=rep("y",5),v2=sample(1:5))) ### DATA Ejemplo
subset(T, v2==2 | v2==3)
y trae lo que quiero,
el problema es que en lo que quiero hacer tengo que filtrar por mas de 100 valores de v2 y muy tedioso escribir todas esas condiciones, sin mencionar que me puedo equivocar muy facilmente
trate de escribirlo
subset(T, v2==c(2,3)) 
pero R recicla el vector y no me trae todos los terminos que quiero
Gracias xD
#
Hola, ¿qué tal?

Dos consejos. El primero, que no uses subset
<http://stackoverflow.com/questions/9860090/in-r-why-is-better-than-subset>.
Usa corchetes directamente.

El segundo, que utilices el operador %in%:

T[Tv2 %in% c(2,3),]

Un saludo,

Carlos J. Gil Bellosta
http://www.datanalytics.com

El 23 de mayo de 2016, 20:00, Rafael Saturno <rafael_saturno en hotmail.com>
escribió:

  
  
1 day later
#
Hola Rafael,

Quizás te sea de utilidad la función %in%, que la podrías aplicar como 
en los siguientes dos ejemplos:

subset(T, v2 %in% c(2, 3))

subset(T, v2 %in% 2:3)

Un saludo,

Klaus.
On 23/05/2016 20:00, Rafael Saturno wrote: