Muchas Gracias Carlos.

Saludos, eric.





On 14/05/15 20:15, Carlos Ortega wrote:
Hola,

Puedes crear las dos nuevas variables (media y desviación) y ordenar así:

 > med <- datIn[, .(vmed=mean(media), vstd=sd(media)),
by=.(sol,dia,con)][order(sol,dia)]
 > head(med)
    sol dia con   vmed     vstd
1: con   1   0 -29.37 4.415641
2: con   2   0 -31.65 3.178487
3: con   3   0 -28.25 1.485672
4: con   4   0 -26.17 1.159550
5: con   5   0 -27.94 2.563505
6: con   6   0 -28.68 3.142823

Saludos,
Carlos Ortega
www.qualityexcellence.es <http://www.qualityexcellence.es>

El 15 de mayo de 2015, 3:00, eric <ericconchamu...@gmail.com
<mailto:ericconchamu...@gmail.com>> escribió:

    Muchas gracias Freddy y Carlos ... estuve intentando con .() y con
    list(), para calcular la media y el error estandar al mismo tiempo
    en dos columnas, pero me arrojaba un error que no supe interpretar.

    Ahora ya funciona como sugiere Carlos.

    Muchas gracias de nuevo.

    Saludos, Eric.





    On 14/05/15 19:28, Carlos Ortega wrote:

        Hola,

        La forma de hacerlo con data.table es esta:

          > library(data.table)
          > datIn <- fread("zp.res")
          > med <- datIn[, .(vmed=mean(media)), by=.(sol,dia,con)]
          > head(med)
             sol dia con   vmed
        1: con   1   0 -29.37
        2: dec   1   1 -30.35
        3: dec   1   3 -37.15
        4: dec   1   5 -31.55
        5: dol   1   1 -24.02
        6: dol   1   3 -32.95

           * La solución que has empleado actualiza el valor de una
        columna. Y
             aunque te calcula el valor medio por grupo, lo adjunta al
        data.table
             original.
           * En cambio esta otra forma se calcula únicamente el valor
        medio por
             grupo.

        Y bueno si quieres ordenar para que salga el mismo orden que en
        sqldf,
        puedes hacer esto otro:

          > setorder(med, sol, dia)
          > head(med)
             sol dia con   vmed
        1: con   1   0 -29.37
        2: con   2   0 -31.65
        3: con   3   0 -28.25
        4: con   4   0 -26.17
        5: con   5   0 -27.94
        6: con   6   0 -28.68


        Saludos,
        Carlos Ortega
        www.qualiytexcellence.es <http://www.qualiytexcellence.es>
        <http://www.qualiytexcellence.es>

        El 15 de mayo de 2015, 1:00, eric <ericconchamu...@gmail.com
        <mailto:ericconchamu...@gmail.com>
        <mailto:ericconchamu...@gmail.com
        <mailto:ericconchamu...@gmail.com>>> escribió:


             Estimada comunidad tengo un problema del que no encuentro
        datos que
             me ayuden mucho en la web.

             Estoy haciendo calculos por grupos con data,table. Tengo un
        archivo
             (zp.res) con tres columnas que clasifican los datos (sol,
        con, dia)
             y una columna de datos numericos (media), de la siguiente
        forma:

                   sol con dia media
                1: con   0   1 -22.6
                2: con   0   1 -36.6
                3: con   0   1 -35.6

             y quiero calcular el promedio de "media" (la col 4)
        agrupando con
             las variables sol,con,dia. Lo hago de la siguiente forma:

             med <- zp.res[, mean(media), by="sol,dia,con"]

             cuando reviso "med" esta todo bien, se han calculado las
        medias y el
             objeto tiene solo las filas que corresponden a los
        promedios con sus
             respectivas columnas sol,con,dia que los identifican. Pero como
             notaran por el codigo, la columna con el resultado no tiene un
             nombre asi es que R la bautiza como V1. Quise ponele un
        nombre y
             agregue este al codigo de la siguiente forma:

             med <- zp.res[, "ave":=mean(media), by="sol,dia,con"]

             el problema es que ahora el objeto med tiene el mismo numero de
             filas que zp.res y repite el promedio para cada dato dentro del
             grupo obtenido con by="sol,dia,con". Esto no me sirve pues
        tengo que
             graficar los promedios ...

             mmmmm puede que mi explicacion sea algo confusa, espero que me
             entiendan.

             Encontre que luego puedo renombrar la columna, pero no lo
        quiero
             hacer, pues pienso que deberia ser estandar poder ponerle
        el nombre
             y que se construya bien el objeto con los promedios
        inmediatamente.
             Ademas el promedio es solo uno de los calculos que debo
        hacer y los
             otros tambien quedan con el nombre V1 en la mismo data.table.

             Alguna idea de como hacerlo ?

             Adjunto archivo con datos.

             Saludos y gracias, eric.





             --
             Forest Engineer
             Master in Environmental and Natural Resource Economics
             Ph.D. student in Sciences of Natural Resources at La
        Frontera University
             Member in AguaDeTemu2030, citizen movement for Temuco with
        green
             city standards for living

             Nota: Las tildes se han omitido para asegurar
        compatibilidad con
             algunos lectores de correo.

             _______________________________________________
             R-help-es mailing list
        R-help-es@r-project.org <mailto:R-help-es@r-project.org>
        <mailto:R-help-es@r-project.org <mailto:R-help-es@r-project.org>>
        https://stat.ethz.ch/mailman/listinfo/r-help-es




        --
        Saludos,
        Carlos Ortega
        www.qualityexcellence.es <http://www.qualityexcellence.es>
        <http://www.qualityexcellence.es>


    --
    Forest Engineer
    Master in Environmental and Natural Resource Economics
    Ph.D. student in Sciences of Natural Resources at La Frontera University
    Member in AguaDeTemu2030, citizen movement for Temuco with green
    city standards for living

    Nota: Las tildes se han omitido para asegurar compatibilidad con
    algunos lectores de correo.




--
Saludos,
Carlos Ortega
www.qualityexcellence.es <http://www.qualityexcellence.es>

--
Forest Engineer
Master in Environmental and Natural Resource Economics
Ph.D. student in Sciences of Natural Resources at La Frontera University
Member in AguaDeTemu2030, citizen movement for Temuco with green city standards for living

Nota: Las tildes se han omitido para asegurar compatibilidad con algunos lectores de correo.

_______________________________________________
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es

Reply via email to