我正在尝试通过将多个整数变量转换为因数来修改数据框。
用于说明目的的简单数据框如下:
mydf<-data.frame(x=1:10, y=11:20, z=21:30)
比方说,我想将前两列从int更改为factor。 为了实现这一点,我可以写
mydf[,1] <- as.factor(mydf[,1])
mydf[,2] <- as.factor(mydf[,2])
这段代码可以工作,但是如果我必须更改许多列,则必须多次重复这段代码。我尝试过
mydf[,c(1,2)]<-as.factor(mydf[,c(1,2)])
但输出是
str(mydf)
'data.frame': 10 obs. of 3 variables:
$ x: chr "1:10" "11:20" "1:10" "11:20" ...
$ y: chr "1:10" "11:20" "1:10" "11:20" ...
$ z: int 21 22 23 24 25 26 27 28 29 30
如何才能以更优雅,更整洁的方式实现目标?谢谢!