Нахождение среднего значения меток времени в r для данных временных рядов - PullRequest
0 голосов
/ 06 июня 2019

Я имею дело с данными временного ряда, мои данные записаны в формате миллисекунд, т.е. 02/04/2018 07:45:00.1239.Мне нужно среднее значение для той же временной отметки, которая содержит только секунды.

DF

ID Time_Stamp                  A           B                 C
1  02/02/2018 07:45:00.123    123         567               434     
2   02/02/2018 07:45:00.456   123         678               678
3   02/02/2018 07:45:00.687   121         121               121
4   02/02/2018 07:45:01.123   112         2323              2323

Как показано в примере, у меня есть данные в миллисекундах.Я хочу получить среднее значение всех данных времени 02/02/2018 07:45:00

Мои данные результирующих данных должны быть такими:

 ID Time_Stamp                  A           B                 C
1  02/02/2018 07:45:01      mean(R1A:R4A)   mean(R1B:R4B)    mean(R1C:R4C)     
2  02/02/2018 07:45:02      mean(R4A:R8A)   mean(R4B:R8B)    mean(R4C:R8C)

Т.е. среднее значение для строк этого конкретного столбца.Вывод должен быть:

ID Time_Stamp                A       B           C
1  02/02/2018 07:45:01     122.33  455.33       411

то есть среднее значение column A ,Rows 1:3(123,123,121), column B ,Rows 1:3(567,678,121),column C ,Rows 1:3(434,678,121)

Пожалуйста, помогите !!

1 Ответ

1 голос
/ 06 июня 2019

Поскольку вы хотите производить агрегацию в секунду, единственное, что вам нужно сделать, - это преобразовать ее в правильное время и использовать ее в качестве групповой переменной, т.е.

df$grp <- as.POSIXct(paste(as.character(df$ID), as.character(df$Time_Stamp)), format = "%d/%m/%Y %H:%M:%OS")

aggregate(list(mean1 = df$A, mean2 = df$B, mean3 = df$C), list(df$grp), mean)

#              Group.1    mean1     mean2 mean3
#1 2018-02-02 07:45:00 122.3333  455.3333   411
#2 2018-02-02 07:45:01 112.0000 2323.0000  2323
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...