【发布时间】:2017-10-28 16:15:08
【问题描述】:
我需要通过将值除以唯一的列数(YEAR DIV POL ST CTY CR PL YID LID DATE) 来获取 Area 和 Prm 列中的值。
R 中有没有实现这个功能的函数?
提前致谢。
Table:
Tag YEAR DIV POL ST CTY CR PL YID LID DATE Area PRm SEP1 SEP2
S25 2005 7 3068 15 205 11 44 4 2 9042004 799 4504 326.9 296.6
S1 2005 7 4077 15 205 11 90 4 2 9202004 300 3000 316.1 309.2
S16 2005 7 4077 15 205 11 90 4 2 9202004 300 3000 391.2 201.5
S2 2005 7 4077 15 205 11 90 4 2 9202004 300 3000 271.2 311.5
S28 2005 7 3180 15 205 11 44 5 6 9202004 651 1747 251.2 382.5
Output:
Tag YEAR DIV POL ST CTY CR PL YID LID DATE Area PRm SEP1 SEP2
S25 2005 7 3068 15 205 11 44 4 2 9042004 799 4504 326.9 296.6
S1 2005 7 4077 15 205 11 90 4 2 9202004 100 1000 316.1 309.2
S16 2005 7 4077 15 205 11 90 4 2 9202004 100 1000 391.2 201.5
S2 2005 7 4077 15 205 11 90 4 2 9202004 100 1000 271.2 311.5
S28 2005 7 3180 15 205 11 44 5 6 9202004 651 1747 251.2 382.5
Table 和 Output 的区别在于 Area 和 PRm 列的 2,3 和 4 行。
Area 和 Prm 列(300 和 3000)中的值除以 3(因为 YEAR DIV POL ST CTY CR PL YID LID DATE 列在第 2,3 和 4 行中是相同的)。因此,Area 和 PRm 列中的值除以 3(300 / 3 = 100 在 Area 列中,3000 / 3 = 1000 在 PRm 列中,在输出表的第 2,3 和第 4 行中。
S1 2005 7 4077 15 205 11 90 4 2 9202004 100 1000 316.1 309.2
S16 2005 7 4077 15 205 11 90 4 2 9202004 100 1000 391.2 201.5
S2 2005 7 4077 15 205 11 90 4 2 9202004 100 1000 271.2 311.5
【问题讨论】:
-
Table和Output有什么区别? -
我很努力,但无济于事,以理解这个问题。你可能想重铸它。
-
对不起,如果我把它弄复杂了。请参阅上面的简化版本。
-
@user 和 Victor:请参阅上面的描述。希望我说清楚了。