gpt4 book ai didi

r - 使用另一个 data.frame 的列对 data.frame 进行排序

转载 作者:行者123 更新时间:2023-12-01 23:41:28 25 4
gpt4 key购买 nike

我有以下 data.frames:

d1 <- data.frame(A=c(-1,-1,1,1,-1,-1,1,1), B=c(-1,1,-1,1,-1,1,1,-1), Y=c(2,3,4,5,8,9,10,11))
d2 <- data.frame(A=c(1,1,-1,-1,1,-1,1,-1), B=c(-1,1,1,-1,-1,1,1,-1))

我想将 Y 列添加到 d2 data.frame。我试过使用 merge 函数,但后来我复制了 data.frame 的行数。

我还尝试使用函数 ordermatch 按第二个 data.frame 的列对第一个 data.frame 进行排序:

d1[order(match(
paste(d1$A,d1$B),
paste(d2df$A,d2df$B))
),]

但它不起作用,我不知道为什么。

最佳答案

如果我没理解错的话,这会给你想要的结果:

# Sort d1 and d2 with columns A and B
d1 <- d1[order(d1$A,d1$B),]
d2 <- d2[order(d2$A,d2$B),]

# Copy Y from d1 to d2
d2$Y <- d1$Y

# Restore original order in d1 and d2
d1 <- d1[order(rownames(d1)),]
d2 <- d2[order(rownames(d2)),]

d2$Y
#[1] 4 5 3 2 11 9 10 8

关于r - 使用另一个 data.frame 的列对 data.frame 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37830485/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com