首页 > 解决方案 > R:矩阵上的下标数量不正确(面板数据)

问题描述

我想用 R 中的 optim() 包从纵向数据中估计参数。所以我开始在每个时期(年)的每个观察值(id)上建立索引。我在索引假设为我的解释变量的 x3 时遇到问题。这是我的代码

library(pglm)
library(plm)
data("HealthIns")
dat<- pdata.frame(HealthIns,index = c("id","year"))
summary(dat)

y[,]<-data.matrix(dat$mdu)
y[is.na(y)]=0

x1[,]<-data.matrix(dat$age)
x1[is.na(x1)]=0

dat$gender <-ifelse(dat$sex=="male",1,0)
x2[,]<-data.matrix(dat$gender)
x2[is.na(x2)]=0

x3[,]<-data.matrix(dat$disease)

po.gam=function(para){
  eta[i,t]<-para[1] +para[2]%*%x1[i,t] + para[3]%*%x2[i,t] + para[4]%*%x3[i,t]
  lamb[i,t] <- exp[eta[i,t]]
  

但是当我运行 x3 时,输出是

> x3[,]<-data.matrix(dat$disease)
Error in x3[, ] <- data.matrix(dat$disease) : 
  incorrect number of subscripts on matrix

有人可以帮我如何在我的数据中建立索引吗?因为最后我需要总结索引 t 以从对数似然函数中找到估计参数。谢谢!

标签: rmatrixpackagemle

解决方案


推荐阅读