首页 > 解决方案 > 将 `data.frame` 中的一些变量转换为 `factor` 保持 data.frame 结构 R

问题描述

我试图在保留 data.frame 结构的同时将我的一些变量data.frame转换为。factor我按照这里的建议,但我没有得到我想要的输出,有什么解决办法吗?

d <- data.frame(a = c(1,2, 3, 5), b = c(2,3, 4, 2), e = c(3,4,5,1), f = rep(c("long", "short"), 2))
factor.name <- names(d)[-4]

d[] <- lapply(seq_along(factor.name), function(i) as.factor(d[factor.name[i]]))

标签: rfunctiondataframe

解决方案


使用“factor.name”对数据进行子集,将其传入lapply并更新列

d[factor.name] <- lapply(d[factor.name], factor)

推荐阅读