r for循环只返回最后一个值或NULL

时间:2018-02-06 21:05:18

标签: r for-loop matrix

for(i in 1:ncol(cov_portfolio)){
    k<-cov_portfolio[i,i]}
k

我的cov_portfolio是12:12矩阵,每当我运行此代码以查看每个匹配的列和行时,如[1,1]和[10,10],它只显示最后一个值。 有没有其他方法可以做到?

由于

2 个答案:

答案 0 :(得分:1)

与迈克尔的回答非常相似:

    k <- numeric(12) # create a vector of length 12

    for(i in 1:ncol(cov_portfolio))
    {
        k <- c(k, cov_portfolio[i, i]) # add onto k vector
    }

    k # view vector to compare results
迈克尔是对的 - 你一遍又一遍地重新分配价值k,所以当然你只会看到一个价值。

答案 1 :(得分:0)

现在每个循环你的代码重写K每个循环。如果您想查看每个答案,您可以执行以下操作:

  k <- c()
    for(i in 1:ncol(cov_portfolio)){
        k <- c(k,cov_portfolio[i,i])}
   k