Grep并根据这些值创建新的数据框

时间:2018-07-31 21:41:46

标签: r

我有一个数据表,如下所示:

10 20 30 10 20 30
 1  2  3  4  5  6
 3  4  5  3  7  8 

第一行(10, 20, 30..)是标题

我想用名称为"10"的列中的值创建一个表,如下所示:

10 10
 1  4
 3  3

1 个答案:

答案 0 :(得分:0)

按照@digEmAll的建议:

df[, grepl("10", colnames(df))]
  10 10.1
1  1    4
2  3    3
如果在grepl的每个列名称中找到字符串"10",则

df返回逻辑向量报告。然后,我们使用方括号表示法仅选择条件为TRUE的那些列。

您应该知道具有相同的变量名是一种不好的形式,R经常会对它们做一些奇怪的事情(例如,重命名第二个"10""10.1")。