按前几个字符标识数据框列

时间:2013-10-07 23:00:57

标签: r

我有一个数据框,其中列名以某些字符开头:

> colnames(df)
[1] "p.crossfencing"  "p.livestockdrinking"  "v.livestocktrail"
[5] "v.landclearing"  "v.grazelivestock"     "v.useequipment"

等...

我想根据前几个字符选择列(例如,那些以"v."开头的列名称)基本上,我正在尝试执行与ls(pattern="")相同的操作对象,但就我而言,对于数据框中的列名。

编辑:托马斯的回答让我走上了正确的道路。我需要使用:

j[grep("^v.",j)]

其中j <- colnames(df)

2 个答案:

答案 0 :(得分:3)

您在寻找df[,grep("^v.",names(df))]吗?

答案 1 :(得分:0)

你也可以写如下:

df[, (grep(x = colnames(df), pattern = "^v."))]