我只想替换某个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_1
中df1
的项目替换为11
中ID
所列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
是否有任何进一步的解决方案直接放置所希望的号码?