Re: [R-es] Problema con Histograma con porcentajes usando ggplot
Hola a todos. Utilizando la sintaxis de dplyr (¿ya nadie usa tapply, ni aggregate, ni doby??), creo que buscas algo así, agrupando por país y por stlife.. ess_agrupado <- ess %>% group_by(cntry,stflife) %>% summarise (n = n()) %>% mutate(freq = n / sum(n)) ggplot(ess_agrupado, aes (x=as.factor(stflife))) + geom_bar(aes(y = freq), stat="identity") + scale_y_continuous(labels=scales::percent) + ylab("Relative frequencies") + facet_wrap(~cntry) Saludos El 19/06/17 a las 06:37, Freddy Omar López Quintero escribió: 2017-06-18 23:28 GMT-04:00 Antonio Rodriguez Andres < antoniorodriguezandre...@gmail.com>: Me puede recomendar algún libro donde poder empezar. De ggplot2, sin duda el libro de su (¿cismático?) creador es una referencia obligada: Wickham: ggplot2 Elegant Graphics for Data Analysis, 2016 y uno muy bueno de Chang: R Graphics Cookbook, 2012 ¡ Salud! ___ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
Re: [R-es] Problema con Histograma con porcentajes usando ggplot
Además del llibro de Wickham te recomiendo esta página: http://www.r-graph-gallery.com/ Suele ayudar mucho a crear los gráficos como quieres. El 19 de junio de 2017, 6:37, Freddy Omar López Quintero < freddy.lopez.quint...@gmail.com> escribió: > 2017-06-18 23:28 GMT-04:00 Antonio Rodriguez Andres < > antoniorodriguezandre...@gmail.com>: > > > Me puede recomendar algún libro donde poder empezar. > > > De ggplot2, sin duda el libro de su (¿cismático?) creador es una > referencia obligada: > > Wickham: ggplot2 Elegant Graphics for Data Analysis, 2016 > > > > y uno muy bueno de > > Chang: R Graphics Cookbook, 2012 > > > > ¡ > Salud! > > > -- > «Pídeles sus títulos a los que te persiguen, pregúntales > cuándo nacieron, diles que te demuestren su existencia.» > > Rafael Cadenas > > [[alternative HTML version deleted]] > > ___ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > [[alternative HTML version deleted]] ___ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
Re: [R-es] Problema con Histograma con porcentajes usando ggplot
2017-06-18 23:28 GMT-04:00 Antonio Rodriguez Andres < antoniorodriguezandre...@gmail.com>: > Me puede recomendar algún libro donde poder empezar. De ggplot2, sin duda el libro de su (¿cismático?) creador es una referencia obligada: Wickham: ggplot2 Elegant Graphics for Data Analysis, 2016 > y uno muy bueno de Chang: R Graphics Cookbook, 2012 > ¡ Salud! -- «Pídeles sus títulos a los que te persiguen, pregúntales cuándo nacieron, diles que te demuestren su existencia.» Rafael Cadenas [[alternative HTML version deleted]] ___ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
Re: [R-es] Problema con Histograma con porcentajes usando ggplot
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
Re: [R-es] Problema con Histograma con porcentajes usando ggplot
#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: > 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" >> 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 ##1Austria 17954.47 4.474.47 ##2Belgium 17694.40 4.408.87 ##3Switzerland 15323.81 3.81 12.68 ##4 Czech Republic 21485.35 5.35 18.03 ##5Germany 30457.58 7.58 25.60 ##6Denmark 15023.74 3.74 29.34 ##7Estonia 20515.10 5.10 34.45 ##8 Spain 19254.79 4.79 39.24 ##9Finland 20875.19 5.19 44.43 ## 10 France 19174.77 4.77 49.20 ## 11 United Kingdom 22645.63 5.63 54.83 ## 12Hungary 16984.23 4.23 59.06 ## 13Ireland 23905.95 5.95 65.01 ## 14 Israel 25626.38 6.38 71.38 ## 15 Lithuania 22505.60 5.60 76.98 ## 16Netherlands 19194.78 4.78 81.76 ## 17 Norway 14363.57 3.57 85.33 ## 18 Poland 16154.02 4.02 89.35 ## 19 Portugal 12653.15 3.15 92.50 ## 20 Sweden 17914.46 4.46 96.95 ## 21 Slovenia 12243.05 3.05 100.00 ## NA NA00.00NA 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 910 ## ##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
Re: [R-es] Problema con Histograma con porcentajes usando ggplot
Gracias. Voy a estudiarlo. Soy neófito y me llevará algún tiempo. El 18/06/2017 5:37 p. m., "Carlos J. Gil Bellosta"escribió: > 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" >> 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 ##1Austria 17954.47 4.474.47 ##2Belgium 17694.40 4.408.87 ##3Switzerland 15323.81 3.81 12.68 ##4 Czech Republic 21485.35 5.35 18.03 ##5Germany 30457.58 7.58 25.60 ##6Denmark 15023.74 3.74 29.34 ##7Estonia 20515.10 5.10 34.45 ##8 Spain 19254.79 4.79 39.24 ##9Finland 20875.19 5.19 44.43 ## 10 France 19174.77 4.77 49.20 ## 11 United Kingdom 22645.63 5.63 54.83 ## 12Hungary 16984.23 4.23 59.06 ## 13Ireland 23905.95 5.95 65.01 ## 14 Israel 25626.38 6.38 71.38 ## 15 Lithuania 22505.60 5.60 76.98 ## 16Netherlands 19194.78 4.78 81.76 ## 17 Norway 14363.57 3.57 85.33 ## 18 Poland 16154.02 4.02 89.35 ## 19 Portugal 12653.15 3.15 92.50 ## 20 Sweden 17914.46 4.46 96.95 ## 21 Slovenia 12243.05 3.05 100.00 ## NA NA00.00NA 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 910 ## ##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 >>> >>> > ___ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
Re: [R-es] Problema con Histograma con porcentajes usando ggplot
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"> 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 >>> ##1Austria 17954.47 4.474.47 >>> ##2Belgium 17694.40 4.408.87 >>> ##3Switzerland 15323.81 3.81 12.68 >>> ##4 Czech Republic 21485.35 5.35 18.03 >>> ##5Germany 30457.58 7.58 25.60 >>> ##6Denmark 15023.74 3.74 29.34 >>> ##7Estonia 20515.10 5.10 34.45 >>> ##8 Spain 19254.79 4.79 39.24 >>> ##9Finland 20875.19 5.19 44.43 >>> ## 10 France 19174.77 4.77 49.20 >>> ## 11 United Kingdom 22645.63 5.63 54.83 >>> ## 12Hungary 16984.23 4.23 59.06 >>> ## 13Ireland 23905.95 5.95 65.01 >>> ## 14 Israel 25626.38 6.38 71.38 >>> ## 15 Lithuania 22505.60 5.60 76.98 >>> ## 16Netherlands 19194.78 4.78 81.76 >>> ## 17 Norway 14363.57 3.57 85.33 >>> ## 18 Poland 16154.02 4.02 89.35 >>> ## 19 Portugal 12653.15 3.15 92.50 >>> ## 20 Sweden 17914.46 4.46 96.95 >>> ## 21 Slovenia 12243.05 3.05 100.00 >>> ## NA NA00.00NA 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 910 >>> ## >>> >>> ##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 >>> >> >> ___ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
Re: [R-es] Problema con Histograma con porcentajes usando ggplot
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"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 >> ##1Austria 17954.47 4.474.47 >> ##2Belgium 17694.40 4.408.87 >> ##3Switzerland 15323.81 3.81 12.68 >> ##4 Czech Republic 21485.35 5.35 18.03 >> ##5Germany 30457.58 7.58 25.60 >> ##6Denmark 15023.74 3.74 29.34 >> ##7Estonia 20515.10 5.10 34.45 >> ##8 Spain 19254.79 4.79 39.24 >> ##9Finland 20875.19 5.19 44.43 >> ## 10 France 19174.77 4.77 49.20 >> ## 11 United Kingdom 22645.63 5.63 54.83 >> ## 12Hungary 16984.23 4.23 59.06 >> ## 13Ireland 23905.95 5.95 65.01 >> ## 14 Israel 25626.38 6.38 71.38 >> ## 15 Lithuania 22505.60 5.60 76.98 >> ## 16Netherlands 19194.78 4.78 81.76 >> ## 17 Norway 14363.57 3.57 85.33 >> ## 18 Poland 16154.02 4.02 89.35 >> ## 19 Portugal 12653.15 3.15 92.50 >> ## 20 Sweden 17914.46 4.46 96.95 >> ## 21 Slovenia 12243.05 3.05 100.00 >> ## NA NA00.00NA 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 910 >> ## >> >> ##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 >> > > ___ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
Re: [R-es] Problema con Histograma con porcentajes usando ggplot
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 > ##1Austria 17954.47 4.474.47 > ##2Belgium 17694.40 4.408.87 > ##3Switzerland 15323.81 3.81 12.68 > ##4 Czech Republic 21485.35 5.35 18.03 > ##5Germany 30457.58 7.58 25.60 > ##6Denmark 15023.74 3.74 29.34 > ##7Estonia 20515.10 5.10 34.45 > ##8 Spain 19254.79 4.79 39.24 > ##9Finland 20875.19 5.19 44.43 > ## 10 France 19174.77 4.77 49.20 > ## 11 United Kingdom 22645.63 5.63 54.83 > ## 12Hungary 16984.23 4.23 59.06 > ## 13Ireland 23905.95 5.95 65.01 > ## 14 Israel 25626.38 6.38 71.38 > ## 15 Lithuania 22505.60 5.60 76.98 > ## 16Netherlands 19194.78 4.78 81.76 > ## 17 Norway 14363.57 3.57 85.33 > ## 18 Poland 16154.02 4.02 89.35 > ## 19 Portugal 12653.15 3.15 92.50 > ## 20 Sweden 17914.46 4.46 96.95 > ## 21 Slovenia 12243.05 3.05 100.00 > ## NA NA00.00NA 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 910 > ## > > ##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 > ___ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
[R-es] Problema con Histograma con porcentajes usando ggplot
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 ##1Austria 17954.47 4.474.47 ##2Belgium 17694.40 4.408.87 ##3Switzerland 15323.81 3.81 12.68 ##4 Czech Republic 21485.35 5.35 18.03 ##5Germany 30457.58 7.58 25.60 ##6Denmark 15023.74 3.74 29.34 ##7Estonia 20515.10 5.10 34.45 ##8 Spain 19254.79 4.79 39.24 ##9Finland 20875.19 5.19 44.43 ## 10 France 19174.77 4.77 49.20 ## 11 United Kingdom 22645.63 5.63 54.83 ## 12Hungary 16984.23 4.23 59.06 ## 13Ireland 23905.95 5.95 65.01 ## 14 Israel 25626.38 6.38 71.38 ## 15 Lithuania 22505.60 5.60 76.98 ## 16Netherlands 19194.78 4.78 81.76 ## 17 Norway 14363.57 3.57 85.33 ## 18 Poland 16154.02 4.02 89.35 ## 19 Portugal 12653.15 3.15 92.50 ## 20 Sweden 17914.46 4.46 96.95 ## 21 Slovenia 12243.05 3.05 100.00 ## NA NA00.00NA 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 910 ## ##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