R中的数组要替换的项目数不是替换长度的倍数

array in R number of items to replace is not a multiple of replacement length

请问,如何使用循环在数组中设置一个值。像这样说

a<-3
b<-4
for( i in 1:5)
{
  x[i] <- cbind(a*i, b*i)
}

但我总是收到错误提示:In x[i] <- cbind(a * i, b * i) : 要替换的项目数不是替换长度的倍数。我使用了 "paste" 但似乎这不是解决方案。问题是什么 ?如果解决了,我可以通过使用获得价值吗?例如 x[2][2] 得到 b * 2 的值? 谢谢

你可以这样做:

a <- 3
b <- 4
i <- 1:5
x <- cbind(a*i, b*i)

利用矩阵函数以及 R 直接在向量和矩阵上计算的事实。

对于你的情况,试试这个:

outer(1:5, 3:4, FUN = "*")

     [,1] [,2]
[1,]    3    4
[2,]    6    8
[3,]    9   12
[4,]   12   16
[5,]   15   20