[R-es] aplicar codigo

Samura . tont|to82 @end|ng |rom hotm@||@com
Jue Sep 10 17:51:57 CEST 2020


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 <r-help-es-bounces using r-project.org> en nombre de Marcelino de la Cruz Rot <marcelino.delacruz using urjc.es>
Enviado: jueves, 10 de septiembre de 2020 9:36
Para: r-help-es using r-project.org <r-help-es using r-project.org>
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 . (<tontito82 using hotmail.com>)
> 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
>> R-help-es using r-project.org
>> 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
R-help-es using r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es

	[[alternative HTML version deleted]]



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