Вычисление средних значений и стандартных ошибок для временных данных

Есть ли способ рассчитать средние значения и стандартную ошибку для данных о продолжительности времени? Я пытался работать с подобными исправлениями на этом сайте, но безуспешно.

Данные должны быть сгруппированы по сайту и лечению.

Я хотел бы иметь возможность рассчитать среднее значение и стандартную ошибку ЧЧ.ММ.СС для каждого лечения в соответствии с каждым сайтом.

    names(Socials)
    [1] "Site"      "Date"      "Treatment" "Block"     "HH.MM.SS"  "Max.N"

Пример данных ниже (один из двух сайтов):

    Site       Date Treatment Block             HH.MM.SS Max.N
    MH 2018-10-06         C     1     2020-07-05 00:08:05           9
    MH 2018-10-08         D     1     2020-07-05 00:12:56           6
    MH 2018-10-07         V     1     2020-07-05 00:57:52           4
    MH 2018-10-05     V + D     1     2020-07-05 00:53:14           4
    MH 2018-10-12         C     2     2020-07-05 00:03:57           7
    MH 2018-10-10         D     2     2020-07-05 00:21:34           2
    MH 2018-10-11         V     2     2020-07-05 01:10:24           4
    MH 2018-10-09     V + D     2     2020-07-05 01:15:17           6
    MH 2018-10-15         C     3     2020-07-05 00:08:44           1
    MH 2018-10-13         D     3     2020-07-05 00:58:22          23
    MH 2018-10-14         V     3     2020-07-05 00:00:07           3
    MH 2018-10-16     V + D     3     2020-07-05 01:09:12           4


    # CreatePOSIXct time objects for date.
    Socials$Date <- as.POSIXct(Socials$Date, format = "%d/%m/%y")

    # CreatePOSIXct time objects for the total time duration for each treatment
    Socials$HH.MM.SS <- as.POSIXct(Socials$HH.MM.SS, format = "%H:%M:%OS")

Я не предоставил здесь все данные, поэтому данные можно разделить на подмножества, как показано ниже, для создания рабочего примера.

   #Subset Data - split sites MH and GI 
    MH.data <- subset(Socials, Site == 'MH')
    GI.data <- subset(Socials, Site == 'GI')

    ##### Calculate summary statistics for Observations ######
    library(data.table) 
    library(plotrix)

    df1 = data.table(Socials)

    df1_output = df1[, .("HH.MM.SS" = mean(HH.MM.SS), 
                   "std" = std.error(Treatment)), 
               by = c("Site", "Treatment")]

Будем очень благодарны любой помощи.

Заранее спасибо. Я надеюсь, что информация, представленная здесь, в порядке.


person Greeny    schedule 05.07.2020    source источник


Ответы (1)


Я думаю, что вы можете просто сделать это нормально. Это просто сработало для меня:

> x=c(as.Date("2018-10-06"), as.Date("2018-11-06"), as.Date("2018-12-06"))
> mean(x)
[1] "2018-11-05"
> sd(x)
[1] 30.50137
> std.error(x)
[1] 17.60997
person Derek Fulton    schedule 05.07.2020
comment
Отлично, спасибо @DerekFulton. Я ценю вашу помощь. - person Greeny; 05.07.2020
comment
Хотя мне нужно рассчитать время, а не дату. Я попытаюсь использовать эту базовую формулу для расчета значений времени. Учитывая, что у меня есть довольно много данных для обработки и построения графиков, было бы полезно иметь формулу, применимую ко всем методам лечения/участкам. Я буду настойчиво ценить вашу помощь. - person Greeny; 05.07.2020