У меня есть фрейм данных df1
, который суммирует разных людей df$Person
с интервалом в один час df1$DateTime
с течением времени.
Кроме того, у меня есть еще один фрейм данных df2
, в столбце Data_Type
которого содержится информация о том, что эти люди делали с течением времени в отношении «времени, потраченного на телефон» или «денег, потраченных на покупки». В столбце Value
отображаются либо минуты, потраченные по телефону, либо деньги, потраченные на это конкретное время.
Как пример:
df1<- data.frame(DateTime=c("2016-09-27 11:00:00","2016-09-27 11:00:00","2016-09-27 12:00:00","2016-09-27 12:00:00","2016-09-27 13:00:00","2016-09-27 13:00:00"),
Person= c(11,12,11,12,11,12))
df2<- data.frame(DateTime= c("2016-09-27 11:03:40","2016-09-27 11:07:40","2016-09-27 11:34:53","2016-09-27 11:48:32","2016-09-27 12:01:40","2016-09-27 12:09:40","2016-09-27 12:21:40","2016-09-27 12:29:40","2016-09-27 12:35:40","2016-09-27 12:41:40","2016-09-27 12:53:26","2016-09-27 13:05:40","2016-09-27 13:24:14","2016-09-27 13:32:50","2016-09-27 13:47:19"),
Person= c(11,11,12,11,12,11,11,11,11,12,12,12,11,12,11),
Data_Type=c("Call","Call","Call","Call","Purchase","Call","Call","Call","Call","Purchase","Call","Call","Call","Call","Purchase"),
Value=c(2.7,5.4,3.2,1.7,300,4.6,2.3,5.1,2.9,100,0.6,6.2,1.8,7.6,380))
> df1
DateTime Person
1 2016-09-27 11:00:00 11
2 2016-09-27 11:00:00 12
3 2016-09-27 12:00:00 11
4 2016-09-27 12:00:00 12
5 2016-09-27 13:00:00 11
6 2016-09-27 13:00:00 12
> df2
DateTime Person Data_Type Value
1 2016-09-27 11:03:40 11 Call 2.7
2 2016-09-27 11:07:40 11 Call 5.4
3 2016-09-27 11:34:53 12 Call 3.2
4 2016-09-27 11:48:32 11 Call 1.7
5 2016-09-27 12:01:40 12 Purchase 300.0
6 2016-09-27 12:09:40 11 Call 4.6
7 2016-09-27 12:21:40 11 Call 2.3
8 2016-09-27 12:29:40 11 Call 5.1
9 2016-09-27 12:35:40 11 Call 2.9
10 2016-09-27 12:41:40 12 Purchase 100.0
11 2016-09-27 12:53:26 12 Call 0.6
12 2016-09-27 13:05:40 12 Call 6.2
13 2016-09-27 13:24:14 11 Call 1.8
14 2016-09-27 13:32:50 12 Call 7.6
15 2016-09-27 13:47:19 11 Purchase 380.0
Я хочу добавить две новые переменные в df1
, которые суммируют стандартное отклонение для Calls
и Purchases
в зависимости от человека и для указанных интервалов в один час.
Я бы хотел получить это (возможно, я сделал какую-то ошибку при вычислении sd):
> df1
DateTime Person sdCalls sdPurchases
1 2016-09-27 11:00:00 11 1.9139836 NA
2 2016-09-27 11:00:00 12 0.0000000 NA
3 2016-09-27 12:00:00 11 1.3375973 NA
4 2016-09-27 12:00:00 12 0.0000000 141.4214
5 2016-09-27 13:00:00 11 0.0000000 0.0000
6 2016-09-27 13:00:00 12 0.9899495 NA
Кто-нибудь знает, как это сделать?