2016-12-04 210 views
-1

这个问题相当简单,但是在这里查看过去的问题并没有得出R可以接受的答案。将for循环保存为矩阵R的结果

我想为函数运行一个For循环,然后在矩阵中包装结果。它是循环的功能是:

knn <- function(X, t, k) 

我很舒服,下面的循环产生特定的结果,我想成为一个矩阵:

for (i in 1:38){ print(knn(IrisTrain_woclass, IrisTest_woclass[i, ], 3)) }

所以把它变成一个功能我曾尝试使用:

my_vector <- vector("numeric", 10L) 
for (i in 1:38){ 
my_vector(i) <- knn(IrisTrain_woclass, IrisTest_woclass[i, ], 1) 
my_vector 
} 

但是这样做了

找不到函数“my_vector < - ”

+0

这是因为你写了'my_vector(i)',它看起来像一个函数调用。我认为你的意思是'my_vector [i]'。 – G5W

+0

感谢!现在它工作正常 – calswbin

回答

0

在你的代码试图通过使用括号子集的向量。如果你使用圆括号,R认为你正在尝试运行一个函数。您可以使用括号对矢量进行子集分类。 因此,而不是my_vector(i)它应该是my_vector[i] for循环。