[R-es] aplicar codigo

Samura . tont|to82 @end|ng |rom hotm@||@com
Jue Sep 10 20:19:10 CEST 2020


R version 3.6.3 (2020-02-29) -- "Holding the Windsock"
Rstudio Version 1.2.1335

Voy a actualizarlo todo a ver que pasa.
________________________________
De: Marcelino de la Cruz Rot <marcelino.delacruz using urjc.es>
Enviado: jueves, 10 de septiembre de 2020 17:15
Para: Samura . <tontito82 using hotmail.com>; r-help-es using r-project.org <r-help-es using r-project.org>
Asunto: Re: [R-es] aplicar codigo

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 <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
> <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
> <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


	[[alternative HTML version deleted]]



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