我有一个纵向数据集,其中人们在不同年份 40 岁,我需要对 40 岁的人进行分析(倾向得分匹配)。我想创建一个收入变量,Income 1992
用于 1998 年年满 40Income 1994
岁的人,用于 2000 年年满 40 岁的人,依此类推。
我的数据看起来像这样(我希望 Incomenew 看起来像这样):
ID | SourceYear| Income1992| Income1994 | Incomenew |
|---------------|------------|------------| |
| 1 | 1998 | 10000 | 12000 | 10000 |
| 2 | 2000 | 20000 | 15000 | 15000 |
| 3 | 1998 | 17000 | 16000 | 17000 |
| 4 | 2000 | 18000 | 20000 | 20000 |
我对他们 40 岁前 6 年的收入感兴趣。我已经根据某一年的购买力调整了所有收入变量。我试过这个:
Incomenew<-NA
Incomenew[SourceYear=="1998"]<-Income1992[SourceYear=="1998"]
Incomenew[SourceYear=="2000"]<-Income1994[SourceYear=="2000"]
我得到了所有的 NA
我也试过这个:
`Incomenew<-if (SourceYear=="1998")] {Income1992}
else if (SourceYear==2000)
{Income1994}`
我收到以下错误
if (SourceYear== "1998") { 中的错误:参数长度为零
如果有人可以提供帮助,那将非常有帮助,我将不胜感激。