我正在使用 plm 包,我遇到了随机和模型内的问题,它们给出了“空模型”的错误。但是,模型不是空的。在 plm.fit 的源代码中,错误的来源是这样的(从我的头顶写...)
X <- model.matrix(formula,data, lhs=1,...)
if (ncol(X) == 0) stop("empty model")
但是,如果我尝试使用输入到原始函数中的命令来复制此行为,它会给出 ncol(X) is 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。