У меня есть такая таблица данных:
dt_to_analyse
Name_of varia years value
1: 8 17 2018 0.51
2: 5 17 2018 0.60
3: 1 17 2018 0.55
4: 3 17 2017 0.89
5: 7 17 2017 0.57
6: 4 17 2016 0.56
7: 9 17 2016 0.55
8: 6 17 2016 1.45
9: 4 17 2015 0.53
10: 9 17 2015 0.62
11: 7 17 2015 0.66
12: 4 17 2014 0.62
13: 5 17 2014 0.82
14: 6 17 2014 1.44
15: 4 17 2013 0.52
16: 5 17 2013 0.66
17: 6 17 2013 0.81
18: 3 18 2018 0.24
19: 7 18 2018 0.18
20: 4 18 2017 0.15
21: 9 18 2017 0.25
22: 6 18 2017 0.22
23: 8 18 2016 0.39
24: 5 18 2016 0.50
25: 1 18 2016 0.19
26: 8 18 2015 0.28
27: 5 18 2015 0.32
28: 6 18 2015 0.18
29: 8 18 2014 0.35
30: 3 18 2014 0.64
31: 1 18 2014 0.12
32: 8 18 2013 0.31
33: 3 18 2013 0.36
34: 1 18 2013 0.16
35: 4 19 2018 0.20
36: 9 19 2018 0.15
37: 6 19 2018 0.19
38: 8 19 2017 0.30
39: 5 19 2017 0.63
40: 1 19 2017 0.31
41: 3 19 2016 0.34
42: 7 19 2016 0.18
43: 2 19 2016 0.14
44: 3 19 2015 0.41
45: 2 19 2015 0.12
46: 1 19 2015 0.26
47: 9 19 2014 0.21
48: 7 19 2014 0.23
49: 2 19 2014 0.14
50: 9 19 2013 0.16
51: 7 19 2013 0.30
Я хочу использовать функцию для этих данных:
gmch_function <-function(long)
{
y <- long$value
x <- long$years
p_value_coef <- 1-summary(lm(y~x))$coefficients[2,4]
return (p_value_coef)
}
Когда я группирую ее по одному столбцу, у нее нет проблем
dt_to_analyse[,data.frame(val=gmch_function(.SD)),by=list(varia)]
Когда я группирую его по двум столбцам:
dt_to_analyse[,data.frame(val=gmch_function(.SD)),by=list(Name_of,varia)]
, он говорит мне «Подпись вне границ». Как я могу решить проблему?
Я пыталсяВозможные варианты - by = c ("Name_of", "varia"), например