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. ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: graph.csv Type: text/csv Size: 52796 bytes Desc: no disponible URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20130906/1e29072f/attachment-0001.bin>
Carlos J. Gil Bellosta
2013-Sep-06 23:25 UTC
[R-es] Problema con filtros de datos en un data.frame
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 >
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 >> >
Reasonably Related Threads
- Problema con filtros de datos en un data.frame
- Problema con filtros de datos en un data.frame
- Problema con filtros de datos en un data.frame
- Problema con filtros de datos en un data.frame
- Eliminar filas que cumplen con mas de un criterios simultaneamente ...