Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R plm封装中的三维_R_Panel Data_Plm - Fatal编程技术网

R plm封装中的三维

R plm封装中的三维,r,panel-data,plm,R,Panel Data,Plm,这是一个有关的后续问题,我认为这并没有解决这个问题 所以我重复数据 ============================================ year | comp | count | value.x | value.y ------+------+-------+----------+----------- 2000 | A | USA | 1029.0 | 239481 ------+------+-------+----------+-----

这是一个有关的后续问题,我认为这并没有解决这个问题

所以我重复数据

============================================
 year | comp | count |  value.x |  value.y
------+------+-------+----------+-----------
 2000 |   A  |  USA  |  1029.0  |  239481   
------+------+-------+----------+-----------
 2000 |   A  |  CAN  |  2341.4  |  129333   
------+------+-------+----------+-----------
 2000 |   B  |  USA  |  2847.7  |  187319   
------+------+-------+----------+-----------
 2000 |   B  |  CAN  |  4820.5  |  392039
------+------+-------+----------+-----------
 2001 |   A  |  USA  |  7289.9  |  429481
------+------+-------+----------+-----------
 2001 |   A  |  CAN  |  5067.3  |  589143
------+------+-------+----------+-----------
 2001 |   B  |  USA  |  7847.8  |  958234
------+------+-------+----------+-----------
 2001 |   B  |  CAN  |  9820.0  | 1029385
============================================
虽然从编程的角度来看,那篇文章中的一些答案可以解决这个问题,但还远远没有完成

我的问题更具体

我想根据上面显示的数据运行一个固定效果和一个随机效果模型。我要研究的是
value.x
value.y
comp
之间的影响,无需重新调整(或控制
计数

中提供的处理ID中重复项的建议答案如下:

fakedata$id <- fakedata %>% group_indices(comp, count)
虽然将
comp
count
分组,然后运行固定效应或随机效应模型,但此策略假定每个
comp
在每个
cou中的处理方式不同。这不一定是某些人想要从这种倒退中得到的

如前所述,在我的例子中,我想知道
value.x
value.y
comp
year
之间的影响,无需重新调整(或控制
计数

我认为这适合以下形式的模型:

plm(value.y ~ value.x + factor(cou), model = "within", data=fakedata, index=c(as.numeric(comp),year))
正如一些答复中所建议的那样。但是,这对我不起作用,plm packadge通常会显示错误消息:

Error in pdim.default(index[[1]], index[[2]]) : 
  duplicate couples (id-time)
In addition: Warning messages:
1: In pdata.frame(data, index) :
  duplicate couples (id-time) in resulting pdata.frame
 to find out which, use e.g. table(index(your_pdataframe), useNA = "ifany")
2: In is.pbalanced.default(index[[1]], index[[2]]) :
  duplicate couples (id-time)

那么,我如何在不与
comp
cou
交互的情况下建立固定效应模型呢

对于固定效应,您可以运行一个简单的回归,将年份和公司作为虚拟变量。在这种情况下,你将获得固定效果,不受国家的影响

lm(value.y ~ value.x + factor(year) + factor(comp)
你甚至可以把国家作为因素。在这种情况下,您将获得与使用id索引运行plm相同的结果(为了获得完全相同的结果,您可能必须手动选择假人,因此它们在两个回归中是相同的)。这是LSDV(最小二乘虚拟变量)模型

如果你想选择哪一个因素是基本因素,你可以手工创建你的假人。有上千个软件包可以做到这一点。两个例子:

#with base R
dummies <- model.matrix(~cate, fakedata)

#or using the fastDummies package
dummies <- dummy_columns(fakedata$cate)

对于固定效应,您可以运行一个简单的回归,将年份和公司作为虚拟变量。随机效应是一个GLS模型(系数与OLS相同,您需要调整协方差矩阵),然后可以根据您的需要进行调整,但是在RE效应模型假设下,各个国家的特征应该是无关的,否则您的模型是有偏差的。谢谢,有代码的示例吗?我如何在有限元模型中引入你说的虚拟变量?这和我在帖子里写的有多大不同<代码>plm(value.y~value.x+系数(cou),model=“in”,data=fakedata,index=c(作为数字(comp),年份))
lm(value.y ~ value.x + factor(year) + factor(comp) + factor(count)
plm(value.y ~ value.x, model = "within", data=fakedata, index=c(id,year))
#with base R
dummies <- model.matrix(~cate, fakedata)

#or using the fastDummies package
dummies <- dummy_columns(fakedata$cate)
plm(value.y ~ value.x + factor(cou), model = "within", data=fakedata, index=c(as.numeric(comp),year))