> dat <- data.frame(y=rnorm(10), x1=1:10, x2=2:11, x3=3:12)
> str(dat)
'data.frame': 10 obs. of 4 variables:
$ y : num 1.318 0.731 0.274 -0.488 -0.431 ...
$ x1: int 1 2 3 4 5 6 7 8 9 10
$ x2: int 2 3 4 5 6 7 8 9 10 11
$ x3: int 3 4 5 6 7 8 9 10 11 12
>
> myfun <- function(dat, xvar) {
+ for (colid in xvar) {
+ dat[, colid] <- as.factor(dat[, colid])
+ }
+ return(dat)
+ }
>
> dat <- myfun(dat, c("x1", "x2", "x3"))
> str(dat)
'data.frame': 10 obs. of 4 variables:
$ y : num 1.318 0.731 0.274 -0.488 -0.431 ...
$ x1: Factor w/ 10 levels "1","2","3","4",..: 1 2 3 4 5 6 7 8 9 10
$ x2: Factor w/ 10 levels "2","3","4","5",..: 1 2 3 4 5 6 7 8 9 10
$ x3: Factor w/ 10 levels "3","4","5","6",..: 1 2 3 4 5 6 7 8 9 10


雷达卡




京公网安备 11010802022788号







