[R-es] Crear una variable tipo factor a partir de un vector de caracteres

Xavier-Andoni Tibau Alberdi x@v|t|b@u @end|ng |rom gm@||@com
Mie Mar 6 15:40:36 CET 2019


No, No. Fíjate en el Ifelse(condición, valor si positivo, valor si
negativo).

Si, x %in% ca entonces el valor devuelto es "ca", un factor. En caso
negativo, vamos al siguiente bloque iflese, que comprueba si el país esta
en el siguiente grupo, na. Si está en na nos devuelve "na". Vamos, que la
función mira en que grupo esta ese país y te devuelve una string,
correspondiente al país. Así que ahora tienes un factor, con 5 posibles
valores ("ca", "na", ..., "ea"). Es lo que quieres no?

Xavier Tibau

Missatge de Antonio Rodriguez Andres <antoniorodriguezandres70 using gmail.com>
del dia dc., 6 de març 2019 a les 15:34:

> Pero eso es para crear variables binarias tipo 0-1 si el pais pertence a
> un determinado grupo. Lo que quiero es crear una variable de tipo factor
> con esos 5 niveles, sabiendo que tengo en el dataframe una variable llamada
> Country, con el nombre del pais.
> Gracias
>
> On Wed, 6 Mar 2019 at 15:27, Xavier-Andoni Tibau Alberdi <
> xavitibau using gmail.com> wrote:
>
>> Buenas,
>>
>> Para ello yo uso el operador %in%, que me dice si algo esta dentro de un
>> vector. Luego hago bucles de if else, pero usando la función iflese(). Si
>> país X esta en países lista ca, entonces "ca",etc. Puedes crear una función
>> que englobe ese iflese(), para aplicarla para cada columna del dataframe.
>>
>> Algo así como:
>>
>> func1 <- func (x) {ifelse(x %in% ca, "ca", ifelse(x %in% na,"na", ...,
>> ifelse(x %in% ea, "ea", "otros"))...)}
>>
>> espero que te sirva!
>>
>> Xavier Tibau
>>
>>
>>
>> Missatge de Antonio Rodriguez Andres <antoniorodriguezandres70 using gmail.com>
>> del dia dc., 6 de març 2019 a les 15:10:
>>
>>> Hola estimados miembros de la comunidad de R
>>>
>>> Tengo un conjunto de datos, donde tengo observaciones por países y por
>>> año.
>>> Una de las variables del dataframe es el nombre del país. Queremos
>>> dividir
>>> los países, que son países africanos de acuerdo a 5 regiones: norte de
>>> africa, africa del este, sur africa, etc
>>>
>>> Yo lo que he hecho ha sido crear vectores con el nombre de cada uno de
>>> los
>>> países en cada uno de ellos, por ejemplo este de Africa Central,
>>>
>>> ca <- c("Angola", "Cameroon", "Cabo Verde", "Central African Republic",
>>> "Chad","Equatorial Guinea", "Eritrea", "Ethiopia",
>>>         "Gabon", "Sao Tome and Principe")
>>> class(ca)
>>> character
>>>
>>> luego hice un ifelse para crear una variable binaria 1 si es pais de
>>> Central Africa y cero sino lo es
>>>
>>> afdata$Country.centralafrica <- ifelse(afdata$Country %in% ca,1,0)
>>>
>>> Sin embargo, para el análisis podría ser más interesante crear una
>>> variable
>>> nueva por ejemplo region y tratarla como factor,. Mi pregunta es como
>>> podria pasar esos 5 vectores con el nombre de los paises de cada region a
>>> una sola variable tratada como un factor y con esos 5 niveles ( 5
>>> regiones). Lo que he tratado es de hacer esto para genera una nueva
>>> variable en el dataframe, pero me da que todo es igual false, en el
>>> valor,
>>>
>>> afdata$region <- with(afdata,{
>>>   (Country == "ca" |Country == "na" | Country == "sa" | Country == "wa" |
>>> Country == "ea")
>>> })
>>> Debo de indicar otra condición?
>>>
>>> Agradezco alguna pista
>>>
>>> --
>>>
>>> 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]]
>>>
>>> _______________________________________________
>>> R-help-es mailing list
>>> R-help-es using 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)
>
>
>

	[[alternative HTML version deleted]]



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