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

Antonio Rodriguez Andres antoniorodriguezandres70 en gmail.com
Lun Jun 19 05:28:03 CEST 2017


Muchas gracias. Me puede recomendar algún libro donde poder empezar.

Gracias

El 18/06/2017 9:46 p. m., <javier.ruben.marcuzzi en 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 <antoniorodriguezandres70 en gmail.com>
> *Enviado: *domingo, 18 de junio de 2017 21:20
> *Para: *Carlos J. Gil Bellosta <cgb en datanalytics.com>
> *CC: *r-help-es <r-help-es en 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 <
> 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/
> 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]]



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