Muchas gracias, Carlos. Sobre todo por el sqldf, que seguro me ahorre mucho tiempo. La opción que se plante de primero d <- table(tips$day) y luego dim(d) me parece menos eficiente y cómo que directamente sqldf("select count(distinct day) from tips"), pero supongo que esos son gustos! También son "cómodas" las líneas: aggregate(subjectid ~ cond, data = dat, FUN = function(x) length(unique(x))) o bien tapply(a$subjectid, a$cond, function(x) length(unique(x))), pero tienen algo de R que intuitivamente nunca me sale... supongo que por no comprender cuándo corresponde el uso de function(x). ?Adjunto una selección de mis datos en .csv para probar con data.table (si lo recomendas para novatos, sigo probando con él).- El 22 de junio de 2016, 19:36, Carlos Ortega <cof en qualityexcellence.es> escribió:> Hola, > > Estas pueden ser posibles soluciones: > > > http://stackoverflow.com/questions/5459454/counting-unique-items-in-data-frame > > > http://stackoverflow.com/questions/10112177/how-to-count-distinct-entries-within-a-column-of-a-data-frame > > Y si envías un mínimo conjunto de datos para terminar de entender el > conjunto... seguro que encontramos la solución con data.table... > > Saludos, > Carlos. > > El 23 de junio de 2016, 0:31, Mauricio Monsalvo <m.monsalvo en gmail.com> > escribió: > >> Hola >> Necesito algo simple pero no logro resolverlo en R: contar elementos >> distintos (unique) pero agrupados. En SQL sería: SELECT Camara, >> count(DISTINCT(Laboratorio)) as Lab FROM [datos] GROUP BY Camara. >> Puedo hacerlo para toda la matriz de datos >> con length(unique(datos$Laboratorio)) pero no logro hacerlo agrupado por >> una variable (factor) dada. >> Estuve intentando con el paquete data.table pero me parece un tanto >> complejo (para mi nivel al menos) y si bien hay funciones equivalentes, al >> menos en lo que alcancé a ver no logró usar el DINTINCT.- >> Muchas gracias. >> -- >> Mauricio >> >> [[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 >> > > > > -- > Saludos, > Carlos Ortega > www.qualityexcellence.es >-- Mauricio ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20160622/ce5488ed/attachment-0001.html> ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: Datos.csv Type: text/csv Size: 182950 bytes Desc: no disponible URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20160622/ce5488ed/attachment-0001.bin>
Malas nuevas para mi: package ?sqldb? is not available (for R version 3.3.0) ¿Puedo hacer algo más que esperar? No me voy a "bajar" de versión de R. El 22 de junio de 2016, 20:02, Mauricio Monsalvo <m.monsalvo en gmail.com> escribió:> Muchas gracias, Carlos. > Sobre todo por el sqldf, que seguro me ahorre mucho tiempo. La opción que > se plante de primero d <- table(tips$day) y luego dim(d) me parece menos > eficiente y cómo que directamente sqldf("select count(distinct day) from > tips"), pero supongo que esos son gustos! > También son "cómodas" las líneas: aggregate(subjectid ~ cond, data = dat, > FUN = function(x) length(unique(x))) o bien tapply(a$subjectid, a$cond, > function(x) length(unique(x))), pero tienen algo de R que intuitivamente > nunca me sale... supongo que por no comprender cuándo corresponde el uso de > function(x). > ?Adjunto una selección de mis datos en .csv para probar con data.table > (si lo recomendas para novatos, sigo probando con él).- > > > El 22 de junio de 2016, 19:36, Carlos Ortega <cof en qualityexcellence.es> > escribió: > >> Hola, >> >> Estas pueden ser posibles soluciones: >> >> >> http://stackoverflow.com/questions/5459454/counting-unique-items-in-data-frame >> >> >> http://stackoverflow.com/questions/10112177/how-to-count-distinct-entries-within-a-column-of-a-data-frame >> >> Y si envías un mínimo conjunto de datos para terminar de entender el >> conjunto... seguro que encontramos la solución con data.table... >> >> Saludos, >> Carlos. >> >> El 23 de junio de 2016, 0:31, Mauricio Monsalvo <m.monsalvo en gmail.com> >> escribió: >> >>> Hola >>> Necesito algo simple pero no logro resolverlo en R: contar elementos >>> distintos (unique) pero agrupados. En SQL sería: SELECT Camara, >>> count(DISTINCT(Laboratorio)) as Lab FROM [datos] GROUP BY Camara. >>> Puedo hacerlo para toda la matriz de datos >>> con length(unique(datos$Laboratorio)) pero no logro hacerlo agrupado por >>> una variable (factor) dada. >>> Estuve intentando con el paquete data.table pero me parece un tanto >>> complejo (para mi nivel al menos) y si bien hay funciones equivalentes, >>> al >>> menos en lo que alcancé a ver no logró usar el DINTINCT.- >>> Muchas gracias. >>> -- >>> Mauricio >>> >>> [[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 >>> >> >> >> >> -- >> Saludos, >> Carlos Ortega >> www.qualityexcellence.es >> > > > > -- > Mauricio >-- Mauricio [[alternative HTML version deleted]]
Estoy en 3.3.0 y "sqldf" lo instala sin problemas... El 23 de junio de 2016, 1:23, Mauricio Monsalvo <m.monsalvo en gmail.com> escribió:> Malas nuevas para mi: > package ?sqldb? is not available (for R version 3.3.0) > ¿Puedo hacer algo más que esperar? No me voy a "bajar" de versión de R. > > El 22 de junio de 2016, 20:02, Mauricio Monsalvo <m.monsalvo en gmail.com> > escribió: > >> Muchas gracias, Carlos. >> Sobre todo por el sqldf, que seguro me ahorre mucho tiempo. La opción que >> se plante de primero d <- table(tips$day) y luego dim(d) me parece menos >> eficiente y cómo que directamente sqldf("select count(distinct day) from >> tips"), pero supongo que esos son gustos! >> También son "cómodas" las líneas: aggregate(subjectid ~ cond, data = dat, >> FUN = function(x) length(unique(x))) o bien tapply(a$subjectid, a$cond, >> function(x) length(unique(x))), pero tienen algo de R que intuitivamente >> nunca me sale... supongo que por no comprender cuándo corresponde el uso de >> function(x). >> ?Adjunto una selección de mis datos en .csv para probar con data.table >> (si lo recomendas para novatos, sigo probando con él).- >> >> >> El 22 de junio de 2016, 19:36, Carlos Ortega <cof en qualityexcellence.es> >> escribió: >> >>> Hola, >>> >>> Estas pueden ser posibles soluciones: >>> >>> >>> http://stackoverflow.com/questions/5459454/counting-unique-items-in-data-frame >>> >>> >>> http://stackoverflow.com/questions/10112177/how-to-count-distinct-entries-within-a-column-of-a-data-frame >>> >>> Y si envías un mínimo conjunto de datos para terminar de entender el >>> conjunto... seguro que encontramos la solución con data.table... >>> >>> Saludos, >>> Carlos. >>> >>> El 23 de junio de 2016, 0:31, Mauricio Monsalvo <m.monsalvo en gmail.com> >>> escribió: >>> >>>> Hola >>>> Necesito algo simple pero no logro resolverlo en R: contar elementos >>>> distintos (unique) pero agrupados. En SQL sería: SELECT Camara, >>>> count(DISTINCT(Laboratorio)) as Lab FROM [datos] GROUP BY Camara. >>>> Puedo hacerlo para toda la matriz de datos >>>> con length(unique(datos$Laboratorio)) pero no logro hacerlo agrupado por >>>> una variable (factor) dada. >>>> Estuve intentando con el paquete data.table pero me parece un tanto >>>> complejo (para mi nivel al menos) y si bien hay funciones equivalentes, >>>> al >>>> menos en lo que alcancé a ver no logró usar el DINTINCT.- >>>> Muchas gracias. >>>> -- >>>> Mauricio >>>> >>>> [[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 >>>> >>> >>> >>> >>> -- >>> Saludos, >>> Carlos Ortega >>> www.qualityexcellence.es >>> >> >> >> >> -- >> Mauricio >> > > > > -- > Mauricio >-- Saludos, Carlos Ortega www.qualityexcellence.es [[alternative HTML version deleted]]