【发布时间】:2018-03-13 06:10:31
【问题描述】:
我有一个关于检查哪个级别最高的问题。
这是我的数据:
Year Area V1 V2 V3
2014 USA 100 25 50
2014 USA 200 50 60
2014 USA 200 50 50
2014 USA 200 50 50
2014 USA 300 75 40
2014 ASIA 100 25 60
2014 ASIA 100 25 70
2014 ASIA 300 75 60
2014 ASIA 400 100 60
2014 ASIA 500 125 70
2015 USA 100 25 80
2015 USA 300 75 80
2015 USA 300 75 70
2015 USA 300 75 90
2015 USA 500 125 40
2015 ASIA 400 100 90
2015 ASIA 400 100 80
2015 ASIA 300 75 80
2016 USA 500 125 60
2016 USA 500 125 60
2016 ASIA 100 25 50
我想要的是:
Year Area V1 V2 V3 Count
2014 USA 200 50 50 5
2015 USA 300 75 80 5
2016 USA 500 125 60 2
2014 ASIA 100 25 60 5
2015 ASIA 400 100 80 3
2016 ASIA 100 25 50 1
在V1 中,有 5 个级别(100、200、300、400 和 500)。
在V2中,也有5个级别,分别是0.25*V1。
在V3 中,有 6 个级别。
我想要的结果是按Year 和Area 分组。此外,V1 是最大级别数。例如Year == 2014和Area == USA中,V1包含1个100级、3个200级和1个300级。所以,结果应该是200,因为它是最多的。 V2 和 V3 是一样的。
有什么想法吗?
数据
dt <- fread("Year Area V1 V2 V3
2014 USA 100 25 50
2014 USA 200 50 60
2014 USA 200 50 50
2014 USA 200 50 50
2014 USA 300 75 40
2014 ASIA 100 25 60
2014 ASIA 100 25 70
2014 ASIA 300 75 60
2014 ASIA 400 100 60
2014 ASIA 500 125 70
2015 USA 100 25 80
2015 USA 300 75 80
2015 USA 300 75 70
2015 USA 300 75 90
2015 USA 500 125 40
2015 ASIA 400 100 90
2015 ASIA 400 100 80
2015 ASIA 300 75 80
2016 USA 500 125 60
2016 USA 500 125 60
2016 ASIA 100 25 50")
【问题讨论】:
-
特别适用于 V2 和 V3!如果我们只在年份/区域内保留 V1 的模式,为什么不删除它们?
标签: r data.table data-manipulation