Antonio Rodriguez Andres
2017-Jun-18 23:07 UTC
[R-es] Problema con Histograma con porcentajes usando ggplot
#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>
Antonio Rodriguez Andres
2017-Jun-19 00:01 UTC
[R-es] Problema con Histograma con porcentajes usando ggplot
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>
Antonio Rodriguez Andres
2017-Jun-19 00:19 UTC
[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/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>
Apparently Analagous Threads
- Problema con Histograma con porcentajes usando ggplot
- Problema con Histograma con porcentajes usando ggplot
- Problema con Histograma con porcentajes usando ggplot
- Problema con Histograma con porcentajes usando ggplot
- Crear una variable tipo factor a partir de un vector de caracteres