среднее значение объектов POSIXct с помощью ddply - PullRequest
0 голосов
/ 01 марта 2019

У меня есть набор данных с длительностями (в секундах, vec1) и групповой переменной (vec2):

df=data.frame(vec1=c(180,7560,16020,300,8940,15120,9600,300,2580,25860,13200,6900,22380,11460,15480),
            vec2=c("a","a","a","a","a","a","b","b","b","b","b","b","b","b","b"))

Я хочу рассчитать среднюю продолжительность для каждой группы.Я проверил два способа:

test1=plyr::ddply(df, .(vec2), function(x) mean(x$vec1))
test1$V1=as.POSIXct(test1$V1, origin="1970-01-01", tz = "GMT")

test2=plyr::ddply(df, .(vec2), function(x) as.POSIXct(mean(x$vec1), origin="1970-01-01", tz = "GMT"))

Результаты разные (еще один час для test2, правильный ответ дается test1):

test1 vec2 V1 1 a 1970-01-01 02:13:40 2 b 1970-01-01 03: 19: 33

test2 vec2 V1 1 a 1970-01-01 03:13:40 2 b 1970-01-01 04:19: 33

Я знаю, какой код дает мне правильный ответ, но я хотел бы понять, почему результат отличается.У вас есть объяснение?Спасибо!

...