【发布时间】:2012-07-09 22:30:41
【问题描述】:
我正在使用 plm 包,但我遇到了随机模型和模型内的问题,它们会给出“空模型”的错误。但是,模型不是空的。在 plm.fit 的源代码中,错误的来源是这样的(从我的头顶写...)
X <- model.matrix(formula,data, lhs=1,...)
if (ncol(X) == 0) stop("empty model")
但是,如果我尝试使用输入到原始函数中的命令来复制此行为,它会给出 ncol(X) 为 17 或类似的值。
我的代码是(数据已删除...):
library(sampleSelection)
library(foreign)
library(censReg)
library(plm)
library(micEcon)
library(ggplot2)
data <- read.dta('kpfull1.dta')
summary(data)
attach(data)
data$profit_share <- p91/tnsvp
data$debt_assets <- d91/naba
data$naba3 <- naba^3
data$difprofit <- p91-p90
data$agri <- (mind==1)*1
data$hi <- (mind==2)*1
data$li <- (mind==3)*1
data$constr <- (mind==4)*1
data$trans <- (mind==5)*1
data$trade <- (mind==6)*1
data$rd <- (mind==7)*1
data$ser <- (mind==8)*1
data$fin <- (mind==9)*1
data$for1 <- data[,7]
detach(data)
data1 <- data
panel <- pdata.frame(data, c("num","rnd"))
testovaci <- plm(tb ~ profit_share + debt_assets + naba + naba3 + for1 + dom + difprofit + agri + hi + li + constr + trans + trade + rd + ser + fin, data = panel, model = "within")
summary(testovaci)
model.matrix(tb ~ profit_share + debt_assets + naba + naba3 + for1 + dom + difprofit + agri + hi + li + constr + trans + trade + rd + ser + fin, data)
model.matrix(tb ~ profit_share + debt_assets + naba + naba3 + for1 + dom + difprofit + agri + hi + li + constr + trans + trade + rd + ser + fin, panel)
谢谢, Tomáš Křehlík。
【问题讨论】:
-
你能提供一个最小的例子吗 - 一个包含数据集并且在开始时不加载所有这些无关包的例子?
-
否,因为错误可能与包屏蔽函数名称等有关。您可以轻松地评论除外来和 plm 之外的所有内容。我添加了数据。
标签: r regression plm