仅替换大型面板数据集中

时间:2017-06-08 16:45:11

标签: r

我只想替换某个ID的列表,这是我的data.frame中另一个变量的项目。

这就是我所拥有的:

df1

ID | Variable_1
1  | NA
2  | NA
3  | NA
4  | NA
5  | NA
6  | NA
7  | NA
8  | NA

df 2

ID
1
5
8

现在,我想将Variable_1df1的项目替换为11ID所列df2的{​​{1}}项,以便获得以下输出。

df1(有调整)

ID | Variable_1
1 | 11
2 | NA
3 | NA
4 | NA
5 | 11
6 | NA
7 | NA
8 | 11

在这里,我们有了使用

处理问题的建议
  

df1 $ Variable_1 [df1 $ ID%in%df2 $ ID]< - 11

Howerver,使用data.table,具有以下形式的面板数据集(注意:ID可以有gabs而不一定是有序的,所以%in%component是cruscial):

  

df1< - data.table(Year = c(2000,2000,2000,2000,2001,2001,2001,2001,2002,2002,2002,2002),ID = c(1,2,3, 4,1,2,3,4,1,2,3,4),Variable_1 = rep(NA,12))

     

colnames(df1)= c(" Year"," ID"," Variable_1")

     

df2< - data.table(Year = c(2000,2000,2000),ID = c(1,2,4))

     

colnames(df2)= c(" Year"," ID")

下面的解决方案将TRUE置于相应的单元格而不是数字11

  

df1 [Year == 2000] $ Variable_1 [df1 [Year == 2000] $ ID%in%df2 $ ID]< - 11

是否有任何进一步的解决方案直接放置所希望的号码?

0 个答案:

没有答案