[R-es] Ayuda sencilla (SQL)

Carlos Ortega cof en qualityexcellence.es
Jue Jun 23 02:14:19 CEST 2016


Hola,

Hay una forma más sencilla  utilizando "table()"...

> datIn <- read.table("Datos.csv", sep = ";", header = TRUE)
> datIn <- na.omit(datIn)
> Cont_df <- as.data.frame(table(datIn$Laboratorio, datIn$Camara))
> Cont_end <- Cont_df[ Cont_df$Freq > 0, ]
> Cont_end <- Cont_end[ order(Cont_end$Freq, decreasing = TRUE), ]
> names(Cont_end) <- c("Lab", "Camara", "Freq")
> row.names(Cont_end) <- NULL
> head(Cont_end)
                   Lab    Camara Freq
1                  LKM COOPERALA   45
2       FRESENIUS KABI COOPERALA   40
3 MICROSULES ARGENTINA COOPERALA   30
4          BIOPROFARMA COOPERALA   27
5                ASPEN COOPERALA   19
6          GOBBI NOVAG     CAEMe   17

Saludos,
Carlos Ortega
www.qualityexcellence.es







El 23 de junio de 2016, 1:32, Mauricio Monsalvo <m.monsalvo en gmail.com>
escribió:

> Claro, porque es "sqldf" y no "sqldb" :) Gracias de nuevo. Prometo volver
> a mirar el código antes de molestar en el grupo la próxima vez.
>
> El 22 de junio de 2016, 20:27, Carlos Ortega <cof en qualityexcellence.es>
> escribió:
>
>> 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
>>
>
>
>
> --
> Mauricio
>



-- 
Saludos,
Carlos Ortega
www.qualityexcellence.es

	[[alternative HTML version deleted]]



Más información sobre la lista de distribución R-help-es