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
请问,如何使用循环在数组中设置一个值。像这样说
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