【发布时间】:2022-01-19 07:01:19
【问题描述】:
我试图找出 R 中是否有一种方法可以将数据框 (x) 中的一列的值与第二个数据框 (y) 的第一列中的值进行比较。如果它们匹配,则将 y 的第 2 列中的匹配值导出到新的数据框 (z)。问题是 y 的行数比 x 多。我尝试运行y$X2[x$X1 == y$X1] 和z$X1 <- ifelse(x$X1 == y$X1, y$X2, ifelse(x$X1 != y$X1, '')),但遇到了“更长的对象长度不是更短的对象长度的倍数”的错误。
数据帧 x 和 y 的示例
x <- data.frame("X1" = c(2,33,45,67,32,5)
y <- data.frame("X1" = c(2,33,37,45,60,79,67,32,5,15), "X2" = c(A,B,C,D,E,F,G,H,I,J))
所以我要找的是z$X1 = A,B,D,G,H,I
任何帮助都会很棒,谢谢
【问题讨论】: