我想在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.
答案 0 :(得分:1)
如果我们将名称为facet_x
的列进行子集化,则获取mean
,然后使用rowMeans
df$x <- rowMeans(df[grep("facet_x", names(df))], na.rm = TRUE)