R 手动生成交互术语

R 手动生成交互术语,r,panel-data,R,Panel Data,我正试图使用plm估算一个固定效果面板,该面板具有特定的时间趋势,并且遇到了与之相同的问题。我非常愿意使用链接交叉验证问题中描述的解决方法,但无法确定如何生成必要的数据帧列 也就是说,我有一个数据框的形式 data.frame(date=rep(1:5,times=3),id=rep(1:3,each=5)) 并且希望在此数据框中为每个名为date\u idX的id添加一列,对于id==X的所有观测值,其值与date相同,否则为零 当然,对于我的问题,任何更优雅的解决方案都将不胜感激 >

我正试图使用
plm
估算一个固定效果面板,该面板具有特定的时间趋势,并且遇到了与之相同的问题。我非常愿意使用链接交叉验证问题中描述的解决方法,但无法确定如何生成必要的数据帧列

也就是说,我有一个数据框的形式

data.frame(date=rep(1:5,times=3),id=rep(1:3,each=5))
并且希望在此数据框中为每个名为
date\u idX
id
添加一列,对于
id==X
的所有观测值,其值与
date
相同,否则为零

当然,对于我的问题,任何更优雅的解决方案都将不胜感激

> dfrm <- data.frame(date=rep(1:5,times=3),id=rep(1:3,each=5))
> 
> X <-3;  dfrm$time_idX <- dfrm$date*(dfrm$id==X)
> dfrm
   date id time_idX
1     1  1        0
2     2  1        0
3     3  1        0
4     4  1        0
5     5  1        0
6     1  2        0
7     2  2        0
8     3  2        0
9     4  2        0
10    5  2        0
11    1  3        1
12    2  3        2
13    3  3        3
14    4  3        4
15    5  3        5

我不能保证这将是使用plm问题的正确解决方案,但这是一种应该与普通回归一起使用的方法。您应该编辑您的问题以包含适当的测试用例。

您的意思是与“日期”相同的值吗?似乎我在问题中没有说得足够清楚:我尝试简单地将
date*id
放入公式中,但由于链接交叉验证问题中提到的原因,这在
plm
中不起作用。建议的解决方法是手动创建这些特定的时间趋势,然后将它们添加到公式中。因为我有大约300个人,我需要300个变量,每个变量都包含一个时间趋势。因此,
date\u idX
应该代表所有的
date\u id1
date\u id2
date\u id3
等等。实际上,我没有提到我理解为date*id的术语。我看到了一个类似于y~date+date:id的模型。我的建议是用,假设4个人和5个时间段,使用更易于管理的“试验台”。然后你可以工作到300。econ和mixed effects主题都有R-SIG邮件列表。
  regfun( form = yield ~ I(date*(id==X) ), data=dfrm)