簡體   English   中英

如何在R的for循環中將索引傳遞給對象的名稱?

[英]How to pass an index to the name of an object in a for loop in R?

我想弄清楚如何讓 R 在 for 循環中接受我的索引。 作為一個簡單的例子,我希望每個新矩陣都有一個與之前不同的名稱索引:

for(i in 1:5){
new.matrix.i <- matrix(NA, nrow = i, ncol = i)
}

從這個循環中,我知道它顯然不起作用,但想知道我如何創建 5 個新矩陣,第一個是 NA 的一對一矩陣,第二個是 NA 的兩兩矩陣,一直到包含所有 NA 的 5×5 矩陣。

換句話說,我想知道如何讓 R 治療

新矩陣.i

將 i 作為動態名稱而不是矩陣的常規名稱? 謝謝!

我們可以使用lapply創建一個matrices list

lst <- lapply(1:5, function(i)  matrix(NA, nrow = i, ncol = i))

或者我們繼續for循環,將new.matrix.i初始化為一個list

new.matrix.i <- vector("list", 5)
for(i in 1:5){
    new.matrix.i[[i]] <- matrix(NA, nrow = i, ncol = i)   
}

注意:最好不要在全局環境中創建多個對象。 matrix (或其他對象) list更易於使用

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM