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 [[alternative HTML version deleted]]
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ó:> 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 > [[alternative HTML version deleted]] > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es >[[alternative HTML version deleted]]
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:> 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)-- ---------------------------------------------------- Klaus Langohr Departament d'Estadística i Investigació Operativa Universitat Politècnica de Catalunya Edifici C5 (Campus Nord) C/ Jordi Girona, 1-3 E-08034 Barcelona Tel: (+34) 934 017 034 Fax: (+34) 934 015 855 ---------------------------------------------------- [[alternative HTML version deleted]]