如何按模式从数据框中提取元素?

时间:2019-07-13 10:27:38

标签: r dataframe design-patterns indexing extract

我有一个数据框dat,其中有许多变量,例如

"x_tp1_y"
"g_tp1_z"
"f_tp2_h"

我想提取包含"tp1"的元素。

我已经尝试过了:

grep("tp1", dat)

grepl("tp1", dat)

dat["tp1",]

我只希望R为我提供具有这种模式的元素,因此我不必键入数据帧dat中的所有变量名。
像这样:

  

命令,提取具有模式“ tp1”的元素   R返回数据帧中具有模式“ tp1”的部分:

x_tp1_y   g_tp1_z
      1         2
      0         3

然后我想创建一个新的数据框。

我知道我可以使用

newdat <- data.frame( dat[[1]], dat[ c(1:30)]) 

但是我的数据框中有太多元素,要花很多时间。

谢谢您的帮助!

1 个答案:

答案 0 :(得分:1)

const result = await knexnest(customerProducts);
  return result;

grep在包含必要模式的data.frame列名称(向量colnames(dat))中查找索引号。 “ [”个子集