【发布时间】:2018-12-04 20:36:35
【问题描述】:
我正在尝试用 R 中另一列的相对行值填充表格列。我有一个包含两个数据列(Col1、Col2)和两个点值列(P1、P2)的表。 Data1 已填充,Data2 未填充。我希望 Data2 的值由 P1 或 P2 中的值填充,基于 Data 1 的相对值。在给定的行中,如果 Data1 的先前值高于其当前值,则填充 Data2 单元格通过 P1 中的值。如果 Data1 的先前值低于其当前值,则 Data2 单元格由 P2 中的值填充。为了说明我想要做什么,我提供了两个示例表。第一个表是我所拥有的(未填充 Data2),第二个表是期望的结果。
Table1(我有什么)
+-----+----+----+-------+-------+
| FID | P1 | P2 | Data1 | Data2 |
+-----+----+----+-------+-------+
| 1 | A | B | 50 | |
| 2 | C | D | 40 | |
| 3 | E | F | 60 | |
| 4 | G | H | 70 | |
| 5 | I | J | 65 | |
表 2(预期结果)
+-----+----+----+-------+-------+
| FID | P1 | P2 | Data1 | Data2 |
+-----+----+----+-------+-------+
| 1 | A | B | 50 | NA |
| 2 | C | D | 40 | C |
| 3 | E | F | 60 | F |
| 4 | G | H | 70 | H |
| 5 | I | J | 65 | I |
+-----+----+----+-------+-------+
R 中是否有内置函数来完成此操作?如果没有,关于如何创建一个的任何建议?
【问题讨论】: