Я использую data.table в R, и я пытаюсь извлечь верхние 2 наивысших значения в общий спрос на основе каждого FinYear.Получение верхних значений «x» столбца по году
Мой фактический набор данных огромен (идет до FinYear 2016), поэтому у меня есть подмножество внизу.
Это подмножество моих данных:
x
totaldemand FinYear
1: 4708.667 2000
2: 4448.833 2000
3: 4360.025 2000
4: 4523.167 2000
5: 4504.558 2000
6: 4552.167 2001
7: 4548.750 2001
8: 4451.500 2001
9: 4057.333 2001
10: 4232.167 2001
11: 4523.833 2002
12: 4517.000 2002
13: 4469.500 2002
14: 4379.833 2002
15: 4473.500 2002
16: 4243.333 2003
17: 4270.000 2003
18: 4611.333 2003
19: 4688.333 2003
20: 4720.183 2003
21: 4691.667 2004
22: 4554.167 2004
23: 4217.000 2004
24: 4224.500 2004
25: 4521.167 2004
26: 4549.000 2005
27: 4490.000 2005
28: 4492.167 2005
29: 4416.333 2005
30: 4189.833 2005
31: 4481.000 2000
32: 4583.167 2000
33: 4540.667 2000
34: 4567.333 2000
35: 4510.833 2000
36: 4274.333 2001
37: 4198.167 2001
38: 4392.000 2001
39: 4357.000 2001
40: 4419.667 2001
41: 4439.042 2002
42: 4398.667 2002
43: 4221.667 2002
44: 4172.750 2002
45: 4417.667 2002
46: 4479.510 2003
47: 4527.833 2003
48: 4454.843 2003
49: 4492.177 2003
50: 4225.833 2003
То, что я хочу сделать, это получить верхние 2 значения общего спроса на основе каждого финансового года.
Я хочу посмотреть все значения, которые имеют значение FinYear = 2000, затем найти верхнюю часть 2, а затем сохранить это.
Затем я хочу посмотреть все значения, которые относятся к FinYear = 2001, затем найти верхнюю часть 2, затем сохранить это и т. Д. И т. Д. Для всех FinYears.
Я хочу таблицу данных/фрейм/список, который является результатом.
Любые предложения?
Эй, спасибо, что прекрасно работает. Мне было интересно, можете ли вы объяснить, что он делает, особенно бит head()? –
@Gin_Salmon Просто обновил сообщение. 'head' является базовой функцией R, чтобы получить n количество строк с самого начала. – akrun