我的示例数据是
DF
x.c y.ce z.ac
这些都是数字列
我试图单独提取列c
。
如果我使用grep或grepl,它会占用所有列,因为它们都包含c
。
你能帮我解决一个问题吗? 谢谢。
答案 0 :(得分:1)
根据我上面的评论,如果您希望获得结束的名称与c
,您希望通过
names(DF)[grepl("c$", names(DF))]
然后通过
获取值DF[, names(DF)[grepl("c$", names(DF))]]
(或只是TRUE / FALSE索引:
DF[, grepl("c$", names(DF))]
)
更新
OP已经改变了原来的问题,所以答案现在只是DF[, "c"]
提取c
列
> DF <- data.frame(c=c(1,2,3), ce=c(2,3,4), ac=c(3,4,5))
> DF
c ce ac
1 1 2 3
2 2 3 4
3 3 4 5
> DF[,"c"]
[1] 1 2 3
更新2: OP再次改变了原来的问题,现在的答案是:
DF <- data.frame(x.c=c(1,2,3), y.ce=c(2,3,4), z.ac=c(3,4,5))
> DF
x.c y.ce z.ac
1 1 2 3
2 2 3 4
3 3 4 5
> DF[, names(DF)[grepl("\\.c$", names(DF))]]
[1] 1 2 3