[R-es] Problema con Histograma con porcentajes usando ggplot

Antonio Rodriguez Andres antoniorodriguezandres70 en gmail.com
Lun Jun 19 02:19:53 CEST 2017


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 <
antoniorodriguezandres70 en 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 <
> antoniorodriguezandres70 en 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 <cgb en 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 <
>>> antoniorodriguezandres70 en 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" <
>>>> 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
>>>>>>
>>>>>
>>>>>
>>>
>>
>>
>> --
>>
>> 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/editoria
>> l_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)
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20170618/aba634dd/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/aba634dd/attachment-0001.png>


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