2016-12-04 208 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循環。