1
我正在構建一個圍繞lm
的包裝來做一些額外的計算。我想包裝通過...
到lm
,但我陷入了lm
的weights
論點的麻煩。省略號故障:傳遞...到lm
LmWrapper <- function(df, fmla, ...) {
est <- lm(fmla, df, ...)
list(model = est)
}
如果我把一個權重參數的包裝,
data(airquality)
LmWrapper(airquality, Ozone ~ Wind, weights = Temp)
R不知道到哪裏尋找權重:
Error in eval(expr, envir, enclos) :
..1 used in an incorrect context, no ... to look in
的lm
幫助頁面說
全部
weights
,subset
和offset
的評估方式與formula
中的變量相同,即首先在data
之後,然後在formula
的環境中評估。
但包裝似乎改變的東西。
我該如何解決這個問題?
的traceback()
對於上述錯誤看起來是這樣的:
8: eval(expr, envir, enclos)
7: eval(extras, data, env)
6: model.frame.default(formula = fmla, data = df, weights = ..1,
drop.unused.levels = TRUE)
5: stats::model.frame(formula = fmla, data = df, weights = ..1,
drop.unused.levels = TRUE)
4: eval(expr, envir, enclos)
3: eval(mf, parent.frame())
2: lm(fmla, df, ...) at #2
1: LmWrapper(diamonds, price ~ carat, weights = depth)
直接調用lm
,工作得很好:
lm(Ozone ~ Wind, airquality, weights = Temp)