R 如何将值从当前矩阵分配给另一个空矩阵

R 如何将值从当前矩阵分配给另一个空矩阵,r,for-loop,matrix,R,For Loop,Matrix,目前,我想做一个循环函数,而它可以将当前的现有数据从myMatric矩阵复制到另一个名为质心的新矩阵。下面是我在R中的代码片段: x<-c(1,2,4,5) y<-c(1,1,3,4) myMatric<-matrix(cbind(x,y), ncol=2) test<-function(myMatrix,k) { centroid<-matrix(nrow=k, ncol=2) for(i in 1:nrow(myMatric)) { for

目前,我想做一个循环函数,而它可以将当前的现有数据从myMatric矩阵复制到另一个名为质心的新矩阵。下面是我在R中的代码片段:

x<-c(1,2,4,5)
y<-c(1,1,3,4)
myMatric<-matrix(cbind(x,y), ncol=2)

test<-function(myMatrix,k)
{
  centroid<-matrix(nrow=k, ncol=2)
  for(i in 1:nrow(myMatric))
  {
    for(j in 1:ncol(myMatric))
    {
      centroid[i,j]<- myMatric[i,j]
      # first time printing data from centroid
      print(centroid[i,j]) 
    }
  }
}


test(myMatric,k=2)
# second time printing data from centroid
print(centroid)
但是,当我试图打印质心值时,所有的值都变成NA,如下所示:

 > testKmeans(myMatric,k=2)
[1] 1
[1] 1
[1] 2
[1] 1
> print(centroid)
     [,1] [,2]
[1,]   NA   NA
[2,]   NA   NA
[3,]   NA   NA
[4,]   NA   NA
这里有谁能告诉我将值从当前矩阵复制到另一个矩阵的正确步骤,然后能够从复制的矩阵调用当前结果。
非常感谢您。

为什么不
matrix2您遇到了范围界定问题。您需要从函数返回
形心的值,或者(更不喜欢)使用
谢谢Richard Scriven..但有时我不想复制所有内容,需要在特定行和列中标识元素谢谢Ben Bolker..我得到了相同的错误声明..但仍然不知道如何克服此问题