首页 > 解决方案 > 将数据框中的许多变量从数字转换为因子

问题描述

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

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

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

如何以更优雅、更整洁的方式实现我的目标?谢谢!

标签: rdataframe

解决方案


推荐阅读