R:向量上的多个操作

时间:2015-07-16 04:28:08

标签: r math vector rbind

我有一个简单的整数向量

 a<- c(5, 11, 20)

我想对它应用多个操作,例如,

a1<- a+1
a2<- a+2
a3<- a-3

... 然后明智地组合新的向量元素。在这个例子中,它将是:

new_a<-c(rbind(a1,a2,a3))

由于我的原始矢量非常大(~10,000),我想要应用的操作相当多(~20),我想知道是否有更紧凑的方法来做同样的事情?

1 个答案:

答案 0 :(得分:4)

您可以使用outer功能:

a <- c(5, 11, 20)
op <- c(1, 2, -3)

new_a
# [1]  6  7  2 12 13  8 21 22 17

as.vector(t(outer(a, op, "+")))
# [1]  6  7  2 12 13  8 21 22 17