У меня есть таблица данных, из которой я вычислил среднее значение sales
следующим образом:
library(data.table)
DT <- fread(
"ID country year sales industry size cat4
1 NLD 2000 4 A 1 0
2 NLD 2000 4 B 1 1
3 NLD 2006 2 A 1 1
4 NLD 2002 4 A 1 0
5 NLD 2002 4 B 1 1
6 NLD 2006 2 A 1 1
7 NLD 2006 2 B 2 0
8 NLD 2006 1 A 1 4
9 GBR 2001 2 B 3 5
10 GBR 2001 1 B 2 5
11 GBR 2002 1 A 1 11
12 GBR 2006 1 A 1 2
13 GBR 2006 1 B 3 12
14 GBR 2006 1 A 1 2
15 GBR 2006 1 B 3 12",
header = TRUE)
setDT(DT)[,Mean_Sales:= mean(sales, na.rm=TRUE), by=c("country", "industry", "size")]
Однако теперь меня интересует, как Mean_Sales
меняется со временем для каждой группы: by=c("iso3c", "industry", "size")
,
Я хотел бы взять mean of the absolute differences
, разделенное на годы, в которых они разлучены.
В качестве примера для компании в НЛД отрасли А и размера 1, составляющей ID
= 1 и ID
= 8, я хочу среднее абсолютных разностей (|1-4|=3
), разделенных на годы (2006-2000 = 6
). Приводя к ежегодному изменению среднего значения 3/6 = 0.5
.
Я просто не могу понять, как включить его в код R. Любая помощь будет принята с благодарностью.
Желаемый результат:
library(data.table)
DT <- fread(
"ID country year sales industry size cat4 delta
1 NLD 2000 4 A 1 0 0.5
2 NLD 2000 4 B 1 1 0.33
3 NLD 2006 2 A 1 1
4 NLD 2002 4 A 1 0
5 NLD 2002 4 B 1 1
6 NLD 2006 2 A 1 1
7 NLD 2006 2 B 1 0 0.33
8 NLD 2006 1 A 1 4 0.5
9 GBR 2001 2 B 3 5
10 GBR 2001 1 B 2 5
11 GBR 2002 1 A 1 11
12 GBR 2006 1 A 1 2
13 GBR 2006 1 B 3 12
14 GBR 2006 1 A 1 2
15 GBR 2006 1 B 3 12",
header = TRUE)