比较两个 data.frame 以查找 data.frame 1 和 data.frame 2 中选定列中具有相同值的行

发布于 2024-12-02 01:14:37 字数 471 浏览 1 评论 0原文

我有 2 个数据框(a1 和 a2),

a1
A   B   C   D
1   A   6   8
2   D   7   3 #**
3   X   3   3

a2
A   B   C   D
4   D   2   3 #**
5   Z   3   5
6   X   3   4


a1 <- data.frame(
  A = 1:3,
  B = c("A", "D", "X"),
  C = c(6, 7, 3),
  D = c(8, 3, 3)
)
a2 <- data.frame(
  A = 4:6,
  B = c("D", "Z", "X"),
  C = c(2, 3, 3),
  D = c(3, 5, 4)
)

我想获取 B 列和 D 列中具有相同值的行的元组 (a1$A,a2$A)

在这个例子中,我会得到 (2,4) 因为它们在 B 列和 D 列(分别为 D 和 3)中具有相同的值

I have 2 data frames (a1 and a2)

a1
A   B   C   D
1   A   6   8
2   D   7   3 #**
3   X   3   3

a2
A   B   C   D
4   D   2   3 #**
5   Z   3   5
6   X   3   4


a1 <- data.frame(
  A = 1:3,
  B = c("A", "D", "X"),
  C = c(6, 7, 3),
  D = c(8, 3, 3)
)
a2 <- data.frame(
  A = 4:6,
  B = c("D", "Z", "X"),
  C = c(2, 3, 3),
  D = c(3, 5, 4)
)

I want to get the tuples (a1$A,a2$A) for the rows which have the same values in colums B and D

In this example, I would get
(2,4) because they have the same values in colums B and D, respectively D and 3

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

等风来 2024-12-09 01:14:37

使用merge 合并数据框。

merged <- merge(a1, a2, c("B", "D"))
subset(merged, select = c(A.x, A.y))

Use merge to merge the data frames.

merged <- merge(a1, a2, c("B", "D"))
subset(merged, select = c(A.x, A.y))
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文