R语言:如何将字符串作为列名传入factor()函数
修正方法
当你用df$colstr时,R会把colstr当成字面列名去查找,而不是引用变量colstr存储的"mycol"值,所以需要改用支持动态变量索引的方式,以下是几种可行的修正方案:
- 使用双括号索引(推荐,直接返回列向量):
myfactors <- factor(df[[colstr]]) - 使用单括号索引(返回数据框子集,可通过
drop=TRUE转为向量):myfactors <- factor(df[colstr, drop=TRUE]) - 如果你使用tidyverse工具链,也可以用
dplyr::pull:myfactors <- factor(dplyr::pull(df, colstr))
内容的提问来源于stack exchange,提问作者Tassos Pan
相关产品推荐
相关产品推荐

