目前,我想做一个循环函数,而它可以将当前现有数据从myMatric矩阵复制到另一个名为centroid的新矩阵。以下是我在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)
当我调用第一个打印质心函数时,我看起来效果很好并显示如下值:
> testKmeans(myMatric,k=2)
[1] 1
[1] 1
[1] 2
[1] 1
然而,当我试图打印质心值时,所有都变为NA,如下所示:
> print(centroid)
[,1] [,2]
[1,] NA NA
[2,] NA NA
[3,] NA NA
[4,] NA NA
这里的任何人都可以向我展示将值从当前矩阵复制到另一个矩阵的正确步骤,然后能够从复制的矩阵中回调当前结果。 非常感谢你提前。