#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)
_______________________________________________ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es