![](/img/trans.png)
[英]Creating a loop in R to apply the same functions to many similarly named variables
[英]Creating many variables in a loop (R)
我想通過'paragraphs'獲得一個go 一個包含許多段落的列表,並將每個單獨的段落保存為一個新變量,並嘗試編寫此代碼塊並收到以下錯誤:
for (value in paragraphs) {
nam <- paste("p", value, sep = ".")
value <- assign(nam, 1:value)
}
Error in 1:value : NA/NaN argument
In addition: Warning message:
In assign(nam, 1:value) : NAs introduced by coercion
關於從這里到 go 的任何建議?
我認為您正在嘗試創建許多名為p1
、 p2
、 p3
等的變量,每個變量都寫有相應的段落。 在這種情況下,以下應該有效:
for (value in seq_along(paragraphs)) {
nam <- paste("p", value, sep = ".")
value <- assign(nam, paragraphs[value])
}
但是,將一堆變量寫入全局工作區並不是一個好主意,如果段落都在一個命名列表中會更好。 您說它們已經在列表中,但尚不清楚您是指實際的 R 列表還是向量。 如果它們已經在列表中,您可以這樣做:
p <- setNames(paragraphs, paste0("p", seq_along(paragraphs)))
這將允許您以p$p1
、 p$p2
等方式訪問每個段落。
如果段落在向量而不是列表中,您可以這樣做
p <- setNames(as.list(paragraphs), paste0("p", seq_along(paragraphs)))
得到相同的結果。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.