【发布时间】:2015-02-22 18:14:01
【问题描述】:
我正在编写一些代码,我发现了一些奇怪的东西。 当我在某些面板数据的子集上运行 LM 时,它运行良好,如下所示:
library('plm')
data(Cigar)
lm(log(price) ~ log(pop) + log(ndi), data=Cigar, subset=Cigar$state==1)
Call:
lm(formula = log(price) ~ log(pop) + log(ndi), data = Cigar,
subset = Cigar$state == 1)
Coefficients:
(Intercept) log(pop) log(ndi)
-26.4919 3.2749 0.4265
但是当我尝试将其包装在一个函数中时,我得到:
myfunction <- function(formula, data, subset){
return(lm(formula, data, subset))
}
myfunction(formula = log(price) ~ log(pop) + log(ndi), data = Cigar, subset = Cigar$state==1)
Error in xj[i] : invalid subscript type 'closure'
我真的不明白这里发生了什么,但它破坏了我编写的其他代码,所以我想知道。
【问题讨论】:
-
只是猜测,试试
subset = state==1