[R-es] Problema con Histograma con porcentajes usando ggplot
Antonio Rodriguez Andres
antoniorodriguezandres70 en gmail.com
Lun Jun 19 00:20:33 CEST 2017
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" <cgb en 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 <
> antoniorodriguezandres70 en 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 en r-project.org
>> https://stat.ethz.ch/mailman/listinfo/r-help-es
>>
>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20170618/bcb18f9b/attachment-0001.html>
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: imagen.png
Type: image/png
Size: 79665 bytes
Desc: no disponible
URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20170618/bcb18f9b/attachment-0001.png>
Más información sobre la lista de distribución R-help-es