簡體   English   中英

在r中的循環中使用names()

[英]Using names() in a loop in r

我是R的新手,並沒有超越使用for循環。

我想用以下代碼完成的是一個循環,為30個列表命名變量1到400:

for(m in 1:30)
{
  names(paste0("points_GW", m)) <- 1:400
}

我得到以下結果:

Error in names(paste0("points_GW", m)) <- 1:400 : 
  target of assignment expands to non-language object

提前致謝

這樣做的最好的辦法往往是有一個list列表。 然后可以使用例如points_GW[[1]]來訪問單獨的列表。 如果你有充分的理由讓它們保持在全球環境中,那么另一種選擇是:

for(m in 1:5)
{
    names(.GlobalEnv[[paste0("points_GW", m)]]) <- 1:400
}

這是因為全局環境可以像任何其他環境一樣使用,並且可以使用標准[[ operator]來索引環境。 另一個選擇是使用evalparsesubstitute 但是,我建議list清單絕對是更常規的選擇。

暫無
暫無

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

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