【问题标题】:Calculating means and standard errors for time data计算时间数据的平均值和标准误差
【发布时间】:2020-07-05 05:15:56
【问题描述】:

有没有办法计算持续时间数据的均值和标准误差?我已尝试在此站点上进行类似的修复,但没有成功。

数据需要按“Site”和“Treatment”分组。

我希望能够根据每个“站点”计算每个“治疗”的“HH.MM.SS”的平均值和标准误差。

    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")]

任何帮助将不胜感激。

提前致谢。我希望这里提供的信息没问题。

【问题讨论】:

    标签: r time mean standard-error


    【解决方案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
    

    【讨论】:

    • 太好了,谢谢@DerekFulton。感谢您的帮助。
    • 虽然,我需要计算时间,而不是日期。我将尝试使用这个基本公式来计算时间值。鉴于我有相当多的数据要处理并生成图表,因此有一个适用于所有治疗/部位的公式会很有帮助。我会坚持不懈地感谢您的帮助。
    猜你喜欢
    • 2014-03-21
    • 2021-06-17
    • 1970-01-01
    • 2021-04-08
    • 2012-04-20
    • 2018-07-20
    • 2014-09-28
    相关资源
    最近更新 更多