標題可能聽起來令人困惑,但其想法是使用 R 中的回圈從兩個位置創建一組 Channel Darters 魚 (FSAdata) 的種群引數資料。 以下代碼正在運行
require(FSA)
require(FSAdata)
require(car)
data("DarterOnt")
str(DarterOnt)
location <- unique(DarterOnt$river)
vb <- vbFuns(param = "Typical")
for (i in 1:length(location)) {
dat <- filter(DarterOnt, river == location[i])
f.starts <- vbStarts(tl ~ age, data = dat)
f.fit[[i]] <- nls(tl ~ vb(age, Linf, K, t0), data = dat, start = f.starts)
}
f.fit[[1]]
但是,我應該f.fit <- nls(tl ~ vb(age, Linf, K, t0), data = dat, start = f.starts)先運行,而不是[[i]]單獨運行(在之前運行“失敗的代碼”之后),然后重新運行上面的代碼以使回圈正常作業。如果沒有,就會有警告Error: object 'f.fit' not found。我對 R 中的回圈不太熟悉,但是是什么導致了這個問題?有什么解決方法嗎?
uj5u.com熱心網友回復:
物件需要先初始化,然后才能分配給它們的特定索引。
要初始化f.fit物件,就在回圈開始之前 putf.fit <- list()創建它作為一個空串列 - 然后你將能夠在回圈中分配給它,就像你擁有它一樣
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/368658.html
上一篇:while(e_i$X1<12|e_i$X2<12){中的錯誤:引數長度為零
下一篇:使用回圈列印圖案
