我正在尝试使用dplyr
包来选择以i开头的所有列。我有以下代码:
dat<-select(newdat1,starts_with("i"))
我的数据的名称是:
> colnames(newdat)
[1] "i22" "i21" "i20" "i24"
在这种情况下,这只是一个巧合,它们都以i开头,因为在其他情况下会有更多的变化;因此,我想自动化这个过程。问题是我的代码使用dplyr
是正确的;但是,我遇到了包的问题,所以我想知道是否/如何用grep或grepl完成相同的任务,或者任何真正使用基础包的事情。谢谢!
答案 0 :(得分:10)
使用基数R,您可以使用grep
来匹配列名。你可以使用
dat<-newdat1[,grep("^i", colnames(newdat1))]
用类似的查询进行启动。您可以将所需的任何正则表达式用作grep()
。