我有一个简单的整数向量
a<- c(5, 11, 20)
我想对它应用多个操作,例如,
a1<- a+1
a2<- a+2
a3<- a-3
... 然后明智地组合新的向量元素。在这个例子中,它将是:
new_a<-c(rbind(a1,a2,a3))
由于我的原始矢量非常大(~10,000),我想要应用的操作相当多(~20),我想知道是否有更紧凑的方法来做同样的事情?
答案 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