R 如何将一个向量添加到另一个保持第一个向量常数的向量?
如何将一个向量添加到另一个向量,同时保持第一个向量不变?例如,如果我有R 如何将一个向量添加到另一个保持第一个向量常数的向量?,r,R,如何将一个向量添加到另一个向量,同时保持第一个向量不变?例如,如果我有c(1,2,3)+1。我会得到2,3,4。如果我想把它放大到+1和+2,我能做些什么来得到它呢 2, 3, 4, 3, 4, 5 直觉上,我想c(1,2,3)+c(1,2),但这不起作用。将评论转化为答案,我们可以使用外部,如@jogo所示 c(outer(1:3, 1:2, FUN='+')) # [1] 2 3 4 3 4 5 另一个选项是rep f <- function(x, y) { x + rep(y
c(1,2,3)+1
。我会得到2,3,4。如果我想把它放大到+1和+2,我能做些什么来得到它呢
2, 3, 4, 3, 4, 5
直觉上,我想
c(1,2,3)+c(1,2)
,但这不起作用。将评论转化为答案,我们可以使用外部
,如@jogo所示
c(outer(1:3, 1:2, FUN='+'))
# [1] 2 3 4 3 4 5
另一个选项是rep
f <- function(x, y) {
x + rep(y, each = length(x))
}
f(1:3, 1:2)
# [1] 2 3 4 3 4 5
fouter(1:3,1:2,FUN='+')
或c(outer(1:3,1:2,FUN='+'))
或x我有时会问最后一个快速问题seq_len(0)
,返回“整数(0)”。有什么优雅的方法我可以做+0或者只返回第一个向量,或者我最好写一个条件吗?@John Henry你需要把1:2
改成0:2
?@markus我正在使用函数seq_len(x)
来生成基本上是1:x
的向量。当x=0时,我遇到了一个问题,因为它返回“整数(0)”。你有什么建议吗?这是一个不同于我在帖子中提出的问题