将数据框中的许多变量从数值转换为因数

时间:2018-09-11 14:43:39

标签: r dataframe

我正在尝试通过将多个整数变量转换为因数来修改数据框。

用于说明目的的简单数据框如下:

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

如何才能以更优雅,更整洁的方式实现目标?谢谢!

0 个答案:

没有答案