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]
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20170618/e9d08323/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/e9d08323/attachment-0001.png>
[R-es] Problema con Histograma con porcentajes usando ggplot
13 messages · Antonio Rodriguez Andres, Carlos J. Gil Bellosta, Javier Marcuzzi +3 more
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/63ba6dc7/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/63ba6dc7/attachment-0001.png>
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>
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
------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20170619/a416eb8f/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/20170619/a416eb8f/attachment-0001.png>
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" <cgb en datanalytics.com> 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 < 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
------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20170618/d51c05c8/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/d51c05c8/attachment-0001.png>
#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) ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20170618/9b01f742/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/9b01f742/attachment-0001.png>
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) ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20170618/dd69658e/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/dd69658e/attachment-0001.png>
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>
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
Enviado: domingo, 18 de junio de 2017 21:20
Para: Carlos J. Gil Bellosta
CC: r-help-es
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)
_______________________________________________
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) ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <https://stat.ethz.ch/pipermail/r-help-es/attachments/20170618/4db95e41/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/4db95e41/attachment-0001.png>
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)
2017-06-18 23:28 GMT-04:00 Antonio Rodriguez Andres < antoniorodriguezandres70 en 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]]
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.quintero en gmail.com> escribió:
2017-06-18 23:28 GMT-04:00 Antonio Rodriguez Andres < antoniorodriguezandres70 en 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 en r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
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 < antoniorodriguezandres70 en 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!?