【问题标题】:Convert columns with certain column names from factor to character将具有某些列名的列从因子转换为字符
【发布时间】:2016-12-06 23:53:03
【问题描述】:

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

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

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

【问题讨论】:

  • 你可以使用grepl("_test_",col_test_1)
  • @MFR,我知道这一点,但不确定如何在从 grepl 函数检索的列名上使用 grepl+ as.character
  • 你需要给我们一个可重现的例子。然后我们可以尝试我们的代码并发布答案。

标签: r casting type-conversion


【解决方案1】:

这种基本方法可行,但不清楚您对其高效的确切要求。

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

【讨论】:

  • 这正是我想要的,谢谢 mpdem
猜你喜欢
  • 2011-02-20
  • 2018-07-31
  • 1970-01-01
  • 2012-03-04
  • 1970-01-01
  • 2014-01-05
  • 2018-05-17
  • 2012-11-16
相关资源
最近更新 更多