【问题标题】:select columns based on first letter of columns using grep or grepl in r在 r 中使用 grep 或 grepl 根据列的首字母选择列
【发布时间】:2015-06-24 17:34:35
【问题描述】:

我正在尝试使用 dplyr 包来选择所有以 i 开头的列。我有以下代码:

dat<-select(newdat1,starts_with("i"))

我的数据的列名是:

> colnames(newdat)
[1] "i22" "i21" "i20" "i24"

在这种情况下它们都以i开头只是一个巧合,因为在其他情况下会有更大的变化;因此,我想自动化这个过程。问题是我使用dplyr 的代码似乎是正确的;但是,我的包有问题,所以我想知道是否/如何使用 grep 或 grepl 或任何真正使用基本包的东西来完成相同的任务。谢谢!

【问题讨论】:

  • newdat1[,substr(names(newdat1), 1, 1) == "i"]
  • 我会试试这个也谢谢你!
  • 顺便说一句,这实际上是what strat_with does

标签: r multiple-columns


【解决方案1】:

使用 base R ,您可以使用 grep 来匹配列名。你可以使用

dat<-newdat1[,grep("^i", colnames(newdat1))]

做一个开头类似的查询。您可以使用任何您想要的正则表达式作为grep() 中的模式。

【讨论】:

    猜你喜欢
    • 2022-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多