将某些列名称的列从因子转换为字符

时间:2016-12-06 23:53:04

标签: r casting type-conversion

我有一个包含少量100列的大型数据集。一些列是类型因子。我想将这些列从factor转换为character。我知道可以使用下面的函数as.character单独转换它们

     df$col_test_1 = as.character(df$col_test_1)

但是,我正在寻找一种有效的方法来转换列名中具有特定公共字符串的所有列,例如_test_。将其列名称包含字符串_test_的所有列从factor转换为character。任何有关如何做到这一点的建议或提示都非常感谢。感谢。

1 个答案:

答案 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]])
  }
}