我有一个包含少量100列的大型数据集。一些列是类型因子。我想将这些列从factor
转换为character
。我知道可以使用下面的函数as.character
单独转换它们
df$col_test_1 = as.character(df$col_test_1)
但是,我正在寻找一种有效的方法来转换列名中具有特定公共字符串的所有列,例如_test_
。将其列名称包含字符串_test_
的所有列从factor
转换为character
。任何有关如何做到这一点的建议或提示都非常感谢。感谢。
答案 0 :(得分:2)
这种基本方法可行,但目前尚不清楚您对其有效性的要求究竟是什么。
df <- data.frame(my_test_col=as.factor(c(1,2,3)), my_other_col=as.factor(c(4,5,6)))
for (colname in colnames(df)) {
if (grepl('_test_', colname)){
df[[colname]] <- as.character(df[[colname]])
}
}