您好我遇到了其中一个简单但耗时的错误:
如何用循环填充数组?我知道我在这里采用C方法 并且R不是C.
Data <-[SOMETHING HERE]
One <-200
Two <-100
array222 <- array(0,length(SomeLength))
for (i in 1:One)
{
for (j in 1:Two)
{
array222[i][j] = sample(Data,1)
}
我想用来自另一个数据集的随机样本填充数组,但是全部 我明白了:
Warning in array222[i][j] = sample(Data, 1) :
number of items to replace is not a multiple of replacement length
答案 0 :(得分:2)
首先,您不会在R中使用循环来执行此操作。您只需执行
array222 <- matrix(sample(Data, One*Two, replace=T), nrow=One, ncol=Two)
但是回到您的代码,您无法正确初始化array222
变量。对于二维数组,matrix()
语法可能更容易,但您也可以使用array(0, dim=c(One,Two))
。您需要使用适当的尺寸创建它。
另外,索引维数组的正确方法是
array222[i,j] #NOT array222[i][j]