【发布时间】:2018-06-08 15:21:42
【问题描述】:
在 R 中,假设你有一个矩阵 A:
A <- matrix(c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18), nrow=6, ncol=3)
和另一个矩阵B:
B <- matrix(c(1, 2, 3, 4, 5, 6, 7, 9, 11, 13, 15, 17), nrow=6, ncol=2)
并且您想通过单独检查每个值来查看,如果在每一行中,A 中的值是 B 中相应行的值之一。
例如您想查看 A (1, 7, 13) 的第一行中的值是否等于 1 或 7(B 的第一行)。
你怎么能这样做?
我的问题是,这两个矩阵大小不相等,我想得到一个大小为 A 的矩阵,其中包含 TRUE 或 FALSE。
例如:这个结果矩阵 C 的第一行是 (TRUE, TRUE, FALSE),因为 1 等于 1 或 7,7 等于 1 或 7,但 13 不等于 1 或 7。
我已经尝试过使用 %in% 的解决方案,但由于我对 R 很陌生,所以我不知道如何将它应用于每一行,而不仅仅是第一行。带有“==”的解决方案也不起作用,因为矩阵大小不一样,我想将 A 的每个单元格与 B 的数量进行比较,而不是逐个单元格。
非常感谢您的帮助!
【问题讨论】:
标签: r dataframe matrix compare