将值分配给矩阵:获得意外结果

时间:2015-10-04 20:49:01

标签: r

我使用矩阵存储一些结果如下:

#some of my program
#output is an matrix with 70 rows, each row has 4 values
for (i in 1:test_data){
  for (j in 1:train_data) {
   ......
   ......
  output[i,1] <- i
  output[i,2] <- test_data[i, 5] 
  output[i,3] <- names(sort(summary(train_data[c(order(distance_vector)[1:k]), "class"]), decreasing = T)[1])
  output[i,4] <- 0
}

但是,当我打印输出矩阵时,不期望第二列中的值。让我用一个元素(test_data[1,5])作为例子:

> print (test_data[1,5])
    [1] Iris-setosa
    Levels: Iris-setosa Iris-versicolor Iris-virginica

output[1,2]在我的输出矩阵中是1,而不是Iris-setosa。我不知道如何将Iris-setosa而不是1存储到我的矩阵中? 另一个问题是我目前为矩阵赋值的方法对我来说似乎并不高效。还有其他更好的方法可以将fours值分配给矩阵中的一行吗?

0 个答案:

没有答案