【发布时间】:2018-12-24 10:50:11
【问题描述】:
我创建了一个循环,我在其中遍历一个数据帧,在该循环中我将值与另一个数据帧匹配。 我想通过两个变量找到匹配项。这两个数据框包含相同的变量。
例如:
X1 <- c(4247857)
X2 <- c(4.66)
dataframe1 <- data.frame(X1, X2)
X1 <- c(4247850, 4247888, 4247857, 4020051)
X2 <- c(4.55, 3.66, 4.66, 3.05)
dataframe2 <- data.frame(X1, X2)
tempvar <- dataframe1[1, "X2"]
dataframe1[1,"X2"] %in% dataframe2[dataframe2$X2 == tempvar, "X2"]
这里的结果是:
dataframe1[1,"X2"] %in% dataframe2[dataframe2$X2 == tempvar, "X2"]
TRUE
这是我想要的,但我的真实数据的结果是:
dataframe1[3, "X2"]
3.05
dataframe2[dataframe2$X2 == tempvar, "X2"]
3.05
3.05
3.05
4.66
3.05
4.66
4.66
3.05
4.66
3.05
4.66
dataframe1[3,"X2"] %in% dataframe2[dataframe2$X2 == tempvar, "X2"]
FALSE
我在这里得到 FALSE 的原因可能是什么?
【问题讨论】:
-
请使用更多数据和精确的预期输出更新您的问题,以获得清晰的可重复示例。
-
欢迎来到 StackOverflow!请阅读有关how to ask a good question 的信息以及如何提供reproducible example。这将使其他人更容易帮助您。
-
更新了示例数据。 4 个观察结果,我检查观察结果 3 应该匹配但结果是错误的。
-
我想通过两个变量查找匹配项。...哪个?也请浏览我给你的链接并制作适当的可重复示例
-
问题是当我构建一个示例时,它会产生一个 TRUE。但是我的真实数据给出了错误的。它基本上是一样的,所以如果你可以看看我的输出来检测它给出 FALSE 的可能原因。
标签: r