小编use*_*813的帖子

r函数用子集调用lm

我正在研究一些代码,我发现了一些特殊的东西.当我在某些面板数据的子集上运行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  
Run Code Online (Sandbox Code Playgroud)

但当我尝试将其包装在一个函数中时,我得到:

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'
Run Code Online (Sandbox Code Playgroud)

我真的不明白这里发生了什么,但它打破了我写的其他代码,所以我想知道.

r function subset lm

3
推荐指数
1
解决办法
257
查看次数

标签 统计

function ×1

lm ×1

r ×1

subset ×1