R-通过替换公共引用值组合两个数据帧

时间:2016-02-11 21:26:36

标签: r

我有这样的数据框(df1和df2):

DF1

ID  y
4   12
2   65
3   7
5   878
1   1
7   122

DF2

ID  z

2   90
5   16
1   22

在df2中,ID也可以在df1中使用。即,就ID列而言,df2是df1的子集。

我想创建一个新的数据框(df3),以便

ID  y
4   12
2   90
3   7
5   16
1   22
7   122

即,在df1中,y值被df2中的z值替换为公共ID。

如何使用R?我会很高兴得到任何帮助。非常感谢。

1 个答案:

答案 0 :(得分:2)

使用GET我们可以加入两个data.tables并通过引用更新var url_to_send_to = 'actionurl'; var url_to_redirect = 'otherurl'; $('#login').on('submit', function(e) { e.preventDefault(); $.ajax({ url : url_to_send_to, type : "POST", data : $(this).serialize() }).done(function() { window.location.href = url_to_redirect }); });

data.table

您还可以在y中指定加入列(适用于较旧版本的library(data.table) ## version 1.9.6 ## Using your original data.frame objects you would use # dt1 <- as.data.table(df1) # dt2 <- as.data.table(df2) dt1 <- data.table(id = c(4,2,3,5,1,7), y = c(12, 65, 7, 878, 1, 122)) dt2 <- data.table(id = c(2,5,1), z = c(90, 16, 22)) dt1[ dt2, on="id", y := z ] dt1 # id y # 1: 4 12 # 2: 2 90 # 3: 3 7 # 4: 5 16 # 5: 1 22 # 6: 7 122

keys