【发布时间】:2021-10-10 19:23:11
【问题描述】:
我有两个不同的数据集。我正在尝试创建代码,将数据集 1 中的列 A 和 B 的值与数据集 2 中的列 A 和 B 的值进行比较,然后将数据集 2 的列 C 与数据集 1 的列 C 进行比较以查看哪个值是更大。因此,如果 Dataset1$A = Dataset2$A AND 如果 Dataset1$B = Dataset2$B,则将 Dataset1$C 与 Dataset2$C 进行比较以获取相应的行。如果 Dataset1$C >= Dataset2$C,则需要返回值 0(写入 Dataset 2 的新列),如果 Dataset1$C
数据集 1
| A | B | C |
|---|---|---|
| Jessie | 10/2 | 4:10 |
| James | 10/3 | 6:11 |
| Rick | 6/2 | 3:33 |
数据集 2
| A | B | C |
|---|---|---|
| James | 10/5 | 4:02 |
| Jafar | 10/4 | 2:05 |
| Jessie | 10/2 | 7:10 |
Rick 和 6/2 不匹配,James 和 10/3 不匹配,但 Jessie 和 10/2 匹配。因此,此函数理想情况下会将 4:10 与 7:10 进行比较,确定 7:10 更大,因此在数据集 2 的新列 D 中返回 1,但会为其他两行返回 NA。我觉得这应该可以在 R 中使用 ifelse 和可能的循环,考虑到我正在使用的数据量,我非常需要它,但我无法弄清楚。
【问题讨论】:
-
你能展示你对这个数据集的预期输出吗?您如何将
4:10与7:10进行比较?这些不是数字,而是字符串。
标签: r if-statement matching multiple-databases