使用Grep为列中的每一行创建一个均值

时间:2017-01-14 16:51:11

标签: r

我想在R中创建列的复合变量(平均值),但我想使用grep或一些自动分组变量的方法。因为列标题和X1 X2 X3一样。所以我想做一些像

这样的事情
  for(i in 1:length(df$x)){
    df$x[i]<- mean(grep("facet_x", names(df), value=TRUE)[i])
  }

有没有更好的方法来做到这一点,对不起,我已经足够新了R.

1 个答案:

答案 0 :(得分:1)

如果我们将名称为facet_x的列进行子集化,则获取mean,然后使用rowMeans

df$x <- rowMeans(df[grep("facet_x", names(df))], na.rm = TRUE)