Muchas gracias. Me puede recomendar algún libro donde poder empezar. Gracias
El 18/06/2017 9:46 p. m., <javier.ruben.marcu...@gmail.com> escribió: > > > Estimado Antonio Rodriguez Andres > > > > Usted dice que está en sus inicios con R, y desea realizar un gráfico. > Esto no es problema, el inconveniente es que está mezclando librerías, es > lógico, se puede y facilita el trabajo, pero como usted no tiene la > experiencia necesaria está mezclando conceptos y formas de trabajo > distintas. > > > > Le recomiendo que pare, busque un ejemplo o un libro de R donde hay algo > semejante a lo que usted desea, realiza unos ejercicios y comienza otra vez. > > > > Por ejemplo ggplot2 tiene algunos efectos gráficos de presentación > vistosos, pero la forma de trabajo requiere conocer algo más el lenguaje, > si intenta lo mismo pero con solo los paquetes básicos comprenderá cómo se > realizan los cálculos, algo de trabajo con datos, algunas alternativas para > realizar el mismo trabajo de distinta forma, y luego busca utilizar ggplot2 > como pretende ahora. Creo que las posibilidades de obtener mejores > resultados se incrementan si ahora se frena y puede replantear el problema > en su mente. > > > > Espere, descanse, el lunes comienza otra vez desde cero y el martes > regresa a su problema, invertirá mejor su tiempo con R si aumenta el manejo > de lo básico (antes de usar varias librerías o alternativas que aparecieron > como sugerencias a su pregunta). > > > > Javier Rubén Marcuzzi > > > > *De: *Antonio Rodriguez Andres <antoniorodriguezandre...@gmail.com> > *Enviado: *domingo, 18 de junio de 2017 21:20 > *Para: *Carlos J. Gil Bellosta <c...@datanalytics.com> > *CC: *r-help-es <r-help-es@r-project.org> > *Asunto: *Re: [R-es] Problema con Histograma con porcentajes usando ggplot > > > > Creo que esto me da para DK, y luego veré como aplicar el barplot > > ess %>% > filter(cntry %in% c("DK")) %>% > count (stflife) %>% > mutate (freq = (n /sum(n)*100))%>% > print > > > > 2017-06-18 19:01 GMT-05:00 Antonio Rodriguez Andres < > antoniorodriguezandre...@gmail.com>: > > He conseguido el total para un país, pero no me deja usar percent = > count() /sum(count), alguna idea, entiendo que puedo esar la misma sintaxis > para el barplot > > ess %>% > filter(cntry %in% c("DK")) %>% > count (stflife) %>% > print > > > > 2017-06-18 18:07 GMT-05:00 Antonio Rodriguez Andres < > antoniorodriguezandre...@gmail.com>: > > #Simple table con frecuencias absolutas y crear relativas > > count =table(ess$stflife) > percent = 100* (count)/sum(count) > > Carlos he creado a esto a nivel general en vez de usar prop.table. Según > lo que dices o entiendo, debo de usar la función > > ddply para hacerlo a nivel de todos los paises, y entiendo que ddply (, > c(""), debo de indicar los paises? > > Saludos > > > > 2017-06-18 17:37 GMT-05:00 Carlos J. Gil Bellosta <c...@datanalytics.com>: > > 1) Agrega por país y nivel (en freq). > > 2) Por país, haz algo así como pct = 100 * freq / sum(freq). > > > > Con plyr, dos líneas. > > > > El 19 de junio de 2017, 0:20, Antonio Rodriguez Andres < > antoniorodriguezandre...@gmail.com> escribió: > > Gracias. Alguna idea de que usar para calcular los porcentajes y > almacenarlos. Se puede usar flat table? > > > > El 18/06/2017 4:50 p. m., "Carlos J. Gil Bellosta" <c...@datanalytics.com> > escribió: > > Los porcentajes que obtienes con tu código son sobre todas las facetas, no > país a país. > > > > Calcula los porcentajes previamente a por país y representa esa columna en > las barras. > > > > Un saludo, > > > > Carlos J. Gil Bellosta > > http://www.datanalytics.com > > > > > > > > El 18 de junio de 2017, 18:23, Antonio Rodriguez Andres < > antoniorodriguezandre...@gmail.com> escribió: > > Estimados > > Soy un nuevo usario de R, y estoy usando como base de datos el European > Social Survey, que tiene datos de 40,000 individuos, y alrededor de 23 > países europeos. Lo que he seleccionado es la útima ola, el round 7, para > el año 2014. > > He leido los datos, desde SPSS y aquí tienen la base de datos y que tipo > de objetos se han generado, y tambíen la distribución por pais de la > muestra. No he usado los weights del survey todavía, solo estoy explorando > los datos. > > class(ess) > > ## [1] "lbl_df" "data.frame" > > frq(ess$cntry) > > ## # Country > ## > ## val label frq raw.prc valid.prc cum.prc > ## 1 Austria 1795 4.47 4.47 4.47 > ## 2 Belgium 1769 4.40 4.40 8.87 > ## 3 Switzerland 1532 3.81 3.81 12.68 > ## 4 Czech Republic 2148 5.35 5.35 18.03 > ## 5 Germany 3045 7.58 7.58 25.60 > ## 6 Denmark 1502 3.74 3.74 29.34 > ## 7 Estonia 2051 5.10 5.10 34.45 > ## 8 Spain 1925 4.79 4.79 39.24 > ## 9 Finland 2087 5.19 5.19 44.43 > ## 10 France 1917 4.77 4.77 49.20 > ## 11 United Kingdom 2264 5.63 5.63 54.83 > ## 12 Hungary 1698 4.23 4.23 59.06 > ## 13 Ireland 2390 5.95 5.95 65.01 > ## 14 Israel 2562 6.38 6.38 71.38 > ## 15 Lithuania 2250 5.60 5.60 76.98 > ## 16 Netherlands 1919 4.78 4.78 81.76 > ## 17 Norway 1436 3.57 3.57 85.33 > ## 18 Poland 1615 4.02 4.02 89.35 > ## 19 Portugal 1265 3.15 3.15 92.50 > ## 20 Sweden 1791 4.46 4.46 96.95 > ## 21 Slovenia 1224 3.05 3.05 100.00 > ## NA NA 0 0.00 NA NA > > Ahora voy a hacer un histograma de la variable satisfaccion con la vida, > cuyo rango es de 0-10 (numeros enteros, donde mayor valor indica mayor > satisfacción con la vida. > > get_labels(ess$stflife) > > > > ## [1] "Extremely dissatisfied" "1" > ## [3] "2" "3" > ## [5] "4" "5" > ## [7] "6" "7" > ## [9] "8" "9" > ## [11] "Extremely satisfied" "Refusal" > > ## [13] "Don't know" "No answer" > > Lo que he hecho es hacer una tabla de la distribución de esa variable para > un sólo pais Dinamarca (DK) > > flat_table(subset(ess, cntry %in% c("DK")), stflife, margin= "row") > > ## x 0 1 2 3 4 5 6 7 8 9 10 > ## > > ## 0.33 0.27 0.47 1.33 0.93 2.87 3.67 8.20 28.40 29.53 24.00 > > > > Sin embargo al hacer un histrogama para los paises con ggplot, anda algo > mal con los porcentajes. Por ejemplo sabemos que un 24 % respondió que > están muy satisfechos en DK. Sin embargo > > los porcentajes son muy pequeños. > > > > myplot = ggplot(ess, aes (stflife)) + > geom_bar(aes(y = (..count..)/sum(..count..))) + > scale_y_continuous(labels=scales::percent) + > ylab("Relative frequencies") + facet_wrap(~cntry) > > plot(myplot) > > > > [image: Inline images 1] > > > > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > > > > > > > > -- > > Member, Editorial Committee, *The Economic and Labour Relations Review* (a > SAGE journal) > > http://elr.sagepub.com/ > > Member, Editorial Committee, African Journal of Economic and Management > Studies > > http://emeraldgrouppublishing.com/products/journals/ > editorial_team.htm?id=ajems > > https://www.researchgate.net/profile/Antonio_Andres (Research Gate > profile) > > > > > > > -- > > Member, Editorial Committee, *The Economic and Labour Relations Review* (a > SAGE journal) > > http://elr.sagepub.com/ > > Member, Editorial Committee, African Journal of Economic and Management > Studies > > http://emeraldgrouppublishing.com/products/journals/ > editorial_team.htm?id=ajems > > https://www.researchgate.net/profile/Antonio_Andres (Research Gate > profile) > > > > > > > -- > > Member, Editorial Committee, *The Economic and Labour Relations Review* (a > SAGE journal) > > http://elr.sagepub.com/ > > Member, Editorial Committee, African Journal of Economic and Management > Studies > > http://emeraldgrouppublishing.com/products/journals/ > editorial_team.htm?id=ajems > > https://www.researchgate.net/profile/Antonio_Andres (Research Gate > profile) > > > > > [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es