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

问题描述 投票:0回答:2
for(i in 1:ncol(cov_portfolio)){
    k<-cov_portfolio[i,i]}
k

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

谢谢

r for-loop matrix
2个回答
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,所以当然你只会看到一个价值。


0
投票

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

  k <- c()
    for(i in 1:ncol(cov_portfolio)){
        k <- c(k,cov_portfolio[i,i])}
   k 
© www.soinside.com 2019 - 2024. All rights reserved.