我正在嘗試使用 for 回圈創建多個命名資料框。我正在使用的代碼的簡化版本如下。我想保持回圈的結構盡可能相似,因為我正在做更復雜的分析。我遇到的問題是只有最后一個資料幀被存盤到串列中。串列中的所有其他專案都是空的。是什么導致了這種行為,我該如何編輯代碼來修復它?
dfs = list()
df.names = c("a", "b", "c")
for (i in length(df.names)) {
df = data.frame()
tmp = data.frame(x = 1, y = 2, z = 3)
df = rbind(df,tmp)
dfs[[i]] = df
}
names(dfs) = df.names
uj5u.com熱心網友回復:
你的 for 回圈應該是:
for (i in 1:length(df.names))
與length(df.names)單個值 (3) 一樣。正如你所擁有的,它顯示為“for i in 3”。
如評論中所述,您還可以使用:
for (i in seq_along(df.names))
這有一個額外的好處,即回圈不會執行,而不是在df.names為空時拋出錯誤。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/404996.html
標籤:
上一篇:PHP-根據索引加入陣列中的專案
