Yo copio y pego este código y me sale correctamente. Se me ocurre que pueda deberse a la versión de R ¿cuál usas?

El 10/09/2020 a las 17:51, Samura . escribió:
Gracias por las respuestas.

Probé lo de hacer la función y no me salía. Pensaba que hacía algo mal.
Ahora con el código de Marcelino tampoco me sale.

col1 <- c('x1', 'x2', 'x11', 'x1','x33', 'x1','x4', 'x5', 'x35', 'x1','x2', 'x4')
col2 <- c('x12', 'x4', 'x6', 'x771','x4', 'x2')
col3 <- c('x7', 'x2', 'x4', 'x5','x111', 'x1','x4', 'x5', 'x35','x2','x2', 'x4','x6', 'x5')

df1<-data.frame(col1)
df2<-data.frame(col2)
df3<-data.frame(col3)

transforma <- function(df) sapply(df, function(x)
    ifelse(x%in%c("x1","x2","x3"),
 "prueba12",ifelse(x%in%c("x4","x5","x6"),"prueba2",x)))

transforma(df1)
col1
[1,] "prueba12"
[2,] "prueba12"
[3,] "2"
[4,] "prueba12"
[5,] "4"
[6,] "prueba12"
[7,] "prueba2"
[8,] "prueba2"
[9,] "5"
[10,] "prueba12"
[11,] "prueba12"
[12,] "prueba2"

¿Alguna idea de pq me sale 2, 4, 5?
------------------------------------------------------------------------
*De:* R-help-es <[email protected]> en nombre de Marcelino de la Cruz Rot <[email protected]>
*Enviado:* jueves, 10 de septiembre de 2020 9:36
*Para:* [email protected] <[email protected]>
*Asunto:* Re: [R-es] aplicar codigo
Hola:
Como dice Carlos, algo así, por ejemplo:

transforma <- function(df) sapply(df, function(x)
ifelse(x%in%c("x1","x2","x3"),
"prueba1",ifelse(x%in%c("x4","x5","x6"),"prueba2",x)))


 > transforma(df1)
       col1
  [1,] "prueba1"
  [2,] "prueba1"
  [3,] "x11"
  [4,] "prueba1"
  [5,] "x33"
  [6,] "prueba1"
  [7,] "prueba2"
  [8,] "prueba2"
  [9,] "x35"
[10,] "prueba1"
[11,] "prueba1"
[12,] "prueba2"


 > transforma(df2)
      col2
[1,] "x12"
[2,] "prueba2"
[3,] "prueba2"
[4,] "x771"
[5,] "prueba2"
[6,] "prueba1"


 > transforma(df3)
       col3
  [1,] "x7"
  [2,] "prueba1"
  [3,] "prueba2"
  [4,] "prueba2"
  [5,] "x111"
  [6,] "prueba1"
  [7,] "prueba2"
  [8,] "prueba2"
  [9,] "x35"
[10,] "prueba1"
[11,] "prueba1"
[12,] "prueba2"
[13,] "prueba2"
[14,] "prueba2"

Saludos,

Marcelino

El 10/09/2020 a las 9:41, Carlos Ortega escribió:
> Hola,
> Si lo estoy entendiendo bien, lo que tienes que crearte es una función.
> A la función le pasarías unos parámetros (las columnas y el dataframe al
> que añadir la transformación), y en el cuerpo de la función haces esos
> cálculos.
>
> Gracias,
> Carlos.
>
>
>
> Gracias,
> Carlos.
>
> El jue., 10 sept. 2020 a las 3:55, Samura . (<[email protected]>)
> escribió:
>
>> Hola,
>> me gustaría hacer algo como en el siguiente ejemplo
>>
>> A un df añadirle una columna que es la transformación de otra,
>> en plan a todo lo que sea  x1, x2, x3 lo llamo prueba 1
>> todo lo que sea x4,x5,x6 lo llamo prueba 2
>> el resto de x las dejo como están.
>>
>> Sería algo así
>>
>> col1 <- c('x1', 'x2', 'x11', 'x1','x33', 'x1','x4', 'x5', 'x35',
>> 'x1','x2', 'x4')
>> df1<-data.frame(col1)
>> attach(df1)
>>
>> df1$transformacion<-ifelse(col1 == "x1"|col1 == "x2"| col1 == "x3",
>> "prueba1",
>>                             ifelse(col1 == "x4"|col1 == "x5"| col1 == "x6",
>> "prueba2", col1))
>>
>> detach(df1)
>> df1
>>
>> pero ahora en vez de un df tengo varios
>>
>> col2 <- c('x12', 'x4', 'x6', 'x771','x4', 'x2')
>> col3 <- c('x7', 'x2', 'x4', 'x5','x111', 'x1','x4', 'x5', 'x35','x2','x2',
>> 'x4','x6', 'x5')
>> df2<-data.frame(col2)
>> df3<-data.frame(col3)
>>
>> ¿cómo puedo aplicar el código al resto de los df sin tener que repetirlo?
>>
>>
>>
>>          [[alternative HTML version deleted]]
>>
>> _______________________________________________
>> R-help-es mailing list
>> [email protected]
>> https://stat.ethz.ch/mailman/listinfo/r-help-es <https://stat.ethz.ch/mailman/listinfo/r-help-es>
>>
>

--
Marcelino de la Cruz Rot
Depto. de Biología y Geología
Física y Química Inorgánica
Universidad Rey Juan Carlos
Móstoles España

_______________________________________________
R-help-es mailing list
[email protected]
https://stat.ethz.ch/mailman/listinfo/r-help-es <https://stat.ethz.ch/mailman/listinfo/r-help-es>


--
Marcelino de la Cruz Rot
Depto. de Biología y Geología
Física y Química Inorgánica
Universidad Rey Juan Carlos
Móstoles España

_______________________________________________
R-help-es mailing list
[email protected]
https://stat.ethz.ch/mailman/listinfo/r-help-es

Responder a