R:向量上的多项操作
R: Multiple Operations on a vector
我有一个简单的整数向量
a<- c(5, 11, 20)
我想对其应用多项操作,例如
a1<- a+1
a2<- a+2
a3<- a-3
...
然后组合新的向量元素。在这个例子中,它将是:
new_a<-c(rbind(a1,a2,a3))
由于我的原始向量很大(~10,000),我想应用的操作也很多(~20),我想知道是否有更紧凑的方法来做同样的事情?
您可以使用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
我有一个简单的整数向量
a<- c(5, 11, 20)
我想对其应用多项操作,例如
a1<- a+1
a2<- a+2
a3<- a-3
... 然后组合新的向量元素。在这个例子中,它将是:
new_a<-c(rbind(a1,a2,a3))
由于我的原始向量很大(~10,000),我想应用的操作也很多(~20),我想知道是否有更紧凑的方法来做同样的事情?
您可以使用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