【问题标题】:R: Multiple Operations on a vectorR:向量上的多个操作
【发布时间】:2015-07-16 04:28:08
【问题描述】:

我有一个简单的整数向量

 a<- c(5, 11, 20)

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

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

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

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

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

【问题讨论】:

  • 类似as.vector(t(outer(a, c(1,2,-3), "+")))?
  • 谢谢 Pascal,它完全符合我的需求!

标签: r math vector rbind


【解决方案1】:

你可以使用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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-01
    • 2020-06-03
    • 2017-01-09
    • 1970-01-01
    • 2013-06-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多