R 如何将值从当前矩阵分配给另一个空矩阵
目前,我想做一个循环函数,而它可以将当前的现有数据从myMatric矩阵复制到另一个名为质心的新矩阵。下面是我在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
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..我得到了相同的错误声明..但仍然不知道如何克服此问题