有没有办法在sem包中通过tsls()创建的对象上使用update()?例如,我想做这样的事情:
library(sem)
data(Kmenta)
mod1 <- tsls(Q ~ P, ~ D, data=Kmenta)
mod2 <- update(mod1, . ~ ., ~ D + F)
此示例的前三行有效。他们创建了一个tsls对象,其中D是P的工具。
我希望示例的最后一行创建另一个tsls对象,其中D和F都是P的工具。但是当我尝试执行最后一行时,R告诉我
Error in update.default(mod1, . ~ ., ~D + F) :
need an object with call component
我应该以不同的方式调用update(),还是需要找到制作mod2对象的另一种方法?
我正在使用R 2.11.1和sem 0.9-21。
答案 0 :(得分:2)
tsls不会将调用保存在对象中,因此您无法使用更新函数来使用旧版本修改模型。你可以按照适合mod1的方式调整mod2,遗憾的是需要重新计算。