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

时间:2015-09-03 12:27:56

标签: r vector 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(),但这似乎只能在向量中工作。

任何帮助都会非常感谢,并提前感谢您!

1 个答案:

答案 0 :(得分:0)

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

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