추가 계산을 수행하기 위해 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
입니다.
하지만 래퍼가 변경되는 것처럼 보입니다.
어떻게 수정합니까? ,
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
를 호출 잘 작동 : 위의 오류에 대한
traceback()
은 다음과 같습니다 이
lm(Ozone ~ Wind, airquality, weights = Temp)