使用通配符计算向量的平均值

Calculating average of vectors using wildcard

我有一堆向量(都具有相同的长度),想用其他一些向量的平均值制作一个新向量。 为了简化起见,假设我只有 5 个向量(在我的数据集中有更多)。向量的名称正在计数,因此第一个向量是 v_1,第二个是 v_2,依此类推。而我要做的是取前4个向量的平均值(第5个不应该算在平均值中)

v_1    v_2    v_3    v_4    v_5
1       3      2      1      6
4       2      4      4      1 
2       4      5      5      2
...    ...    ...    ...     ...

我愿意的是:

v_avg <- (v_1+v_2+v_3+v_4)/4

我想一定有更好的方法来做到这一点,我不必把所有的东西都写出来,而是使用某种通配符?我用 grep() 尝试了一些东西,但这似乎只在向量中起作用。

非常感谢任何帮助,并提前致谢!

这是一个解决方案:生成变量名,将它们转换为符号,用它构建一个 data.frame,然后使用 rowMeans.

rowMeans(data.frame(sapply(paste0("v_",1:4),as.name)))