我正在使用do.call
调用回归函数(用户选择的函数;例如lm()
,glm()
),并希望它返回生成的回归对象(例如, ,类lm
)然后我可以进一步使用,而不是函数调用。这可能吗?
一个简单的例子:
我想要以下代码:
reg.fun <- lm
reg.object.A <- do.call(reg.fun, list(formula=formula.reg, data=data.A, ...)))
返回与
相同的对象reg.object.A <- lm(formula = formula.reg, data = data.A)
答案 0 :(得分:0)
要明确(因为起初它对我来说很模糊:-)),bar<-do.call(lm, etc...)
会返回与rab <- lm( same formula and data)
相同的对象:
y=2:6
x=1:5
rab<-lm(y~x)
bar<-do.call(foofun,list(formula='y~x',data=list(x=1:5,y=2:6)))
for(j in names(bar) ) print(identical(bar$j,rab$j))
[1] TRUE
[1] TRUE
[1] TRUE
[1] TRUE
[1] TRUE
[1] TRUE
[1] TRUE
[1] TRUE
[1] TRUE
[1] TRUE
[1] TRUE
[1] TRUE