0
非常简单的问题,对于像我这样的新手来说非常困难。r误差中的算术运算:较长的对象长度不是较短的对象长度的倍数
x <- c(1,2,3,4)
y <- c(1,2,3)
对象长度不同。所以我不能表演,让我们说,z < - x + y
什么是最好的方法来处理不同物体长度的arithemetic。添加一个0?
非常简单的问题,对于像我这样的新手来说非常困难。r误差中的算术运算:较长的对象长度不是较短的对象长度的倍数
x <- c(1,2,3,4)
y <- c(1,2,3)
对象长度不同。所以我不能表演,让我们说,z < - x + y
什么是最好的方法来处理不同物体长度的arithemetic。添加一个0?
要做到这一点编程,你可以首先把矢量放在一个命名向量,我们可以运行一个分组功能。
z <- setNames(c(x, y), c(seq_along(x), seq_along(y)))
# 1 2 3 4 1 2 3
# 1 2 3 4 1 2 3
现在我们可以为和运行分组功能:
unname(tapply(z, names(z), sum))
# [1] 2 4 6 4
*您可以*实施z < - X + Y。较短的矢量元素将被回收。你会得到一个警告,而不是一个错误。参见'?算术'。问题是你为什么要这么做? –