我有这样的数据框(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?我会很高兴得到任何帮助。非常感谢。
答案 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