[R-es] Problema con filtros de datos en un data.frame

neo ericconchamunoz en gmail.com
Sab Sep 7 01:49:23 CEST 2013


Me funciono perfecto, muchas gracias Carlos ... si no es mucha la 
molestia, alguien podria explicarme la diferencia tecnica entre ambos 
signos, y porque == produce el resultado que produce ? en que casos 
deberia usar == y en que casos %in% ... cual es el significado de cada 
uno ?

Disculpen que no me conforme solo con obtener el resultado adecuado, es 
solo que no me suena logico que == no produzca el resultado que uno se 
imagina al ver el signo :)

Saludos cordiales y muchas gracias,

Eric.





On Fri 06 Sep 2013 07:25:43 PM CLT, Carlos J. Gil Bellosta  wrote:
> Hola, ¿qué tal?
>
> No uses == sino %in%.
>
> Un saludo,
>
> Carlos J. Gil Bellosta
> http://www.datanalytics.com
>
> El día 7 de septiembre de 2013 00:57, neo <ericconchamunoz en gmail.com> escribió:
>> Estimados, tengo el siguiente problema: estoy trabajando con un
>> data.frame que tiene 892 filas y 9 columnas, el cual adjunto para que
>> puedan probar.
>>
>> Cuando consulto por las filas que cumplen una cierta condicion, por
>> ejemplo, ...
>>
>> graph[graph$NCar==c("160s"),]
>>
>> obtengo el siguiente conjunto de datos:
>>
>>     sol   con dia NCar NIns isom      area rep tipo
>> 1   con 0.001   1 160s    0    s 0.6083543   1
>> 8   con 0.001   2 160s    0    s 0.6388484   1 <NA>
>> 10  con 0.001   3 160s    0    s 0.6873404   1 <NA>
>> 13  con 0.001   4 160s    0    s 0.6476428   1 <NA>
>> 20  con 0.001   1 160s    0    s 0.6094205   2 <NA>
>> 23  con 0.001   3 160s    0    s 0.6624022   2 <NA>
>> 25  con 0.001   4 160s    0    s 0.6486783   2 <NA>
>> 31  con 0.001   1 160s    0    s 0.6131645   3 <NA>
>> 34  con 0.001   4 160s    0    s 0.6788893   3 <NA>
>> 36  dec 0.051   2 160s    0    s 0.6822148   1 <NA>
>> 39  dec 0.051   3 160s    0    s 0.6661846   1 <NA>
>> 41  dec 0.051   4 160s    0    s 0.6575084   1 <NA>
>> 43  dec 0.051   5 160s    0    s 0.6233795   1 <NA>
>> 45  dec 0.051   2 160s    0    s 0.6158327   2 <NA>
>> ...
>>
>> Cuando amplio el conjunto de datos, haciendo mas flexible el filtro, por
>> ejemplo:
>>
>> graph[graph$NCar==c("160s","180s"),]
>>
>> obtengo este otro conjunto de datos:
>>
>>
>>     sol   con dia NCar NIns isom         area rep tipo
>> 1   con 0.001   1 160s    0    s 6.083543e-01   1
>> 4   con 0.001   1 180s    0    s 3.791027e-01   1 <NA>
>> 13  con 0.001   4 160s    0    s 6.476428e-01   1 <NA>
>> 18  con 0.001   4 180s    0    s 3.378795e-01   1 <NA>
>> 23  con 0.001   3 160s    0    s 6.624022e-01   2 <NA>
>> 24  con 0.001   3 180s    0    s 3.375978e-01   2 <NA>
>> 25  con 0.001   4 160s    0    s 6.486783e-01   2 <NA>
>> 28  con 0.001   4 180s    0    s 3.457121e-01   2 <NA>
>> 31  con 0.001   1 160s    0    s 6.131645e-01   3 <NA>
>> 32  con 0.001   1 180s    0    s 3.816533e-01   3 <NA>
>> 39  dec 0.051   3 160s    0    s 6.661846e-01   1 <NA>
>> 40  dec 0.051   3 180s    0    s 3.338154e-01   1 <NA>
>> 41  dec 0.051   4 160s    0    s 6.575084e-01   1 <NA>
>> 42  dec 0.051   4 180s    0    s 3.424916e-01   1 <NA>
>> 43  dec 0.051   5 160s    0    s 6.233795e-01   1 <NA>
>> ...
>>
>> mi pregunta es porque no aparecen algunos datos como el siguiente:
>>
>>     sol   con dia NCar NIns isom         area rep tipo
>> 8   con 0.001   2 160s    0    s 0.6388484   1 <NA>
>>
>>
>> el que segun yo deberia aparecer, ya que el filtro es menos restrictivo
>> y el segundo conjunto de datos deberia contener el primero.
>>
>> Alguien puede orientarme en que estoy haciendo mal ?
>>
>> Saludos a todos y gracias de antemano.
>>
>> Eric.
>>
>> _______________________________________________
>> 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