r - 计算时间数据的均值和标准误差
问题描述
有没有办法计算持续时间数据的平均值和标准误差?我曾尝试在此站点上进行类似的修复,但没有成功。
数据需要按“站点”和“治疗”分组。
我希望能够根据每个“站点”计算每个“治疗”的“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")]
任何帮助将不胜感激。
提前致谢。我希望这里提供的信息是好的。
解决方案
我认为你可以正常进行。这对我有用:
> 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
推荐阅读
- sql - Microsoft SQL Server 中是否存在类似 PLV8 的内容?
- c++ - GLEW 错误 (1):缺少 GL 版本 (GLFW)
- java - 如何从 Firebase 数据库 Android 获取嵌套推送键
- batch-file - 当另一个程序关闭 .Bat 文件时关闭程序
- sql - 密码不应包含用户名的三个或更多连续字符
- elasticsearch - 如何在 ElasticSearch Java API 中添加多个字段以对热门内容进行排序?
- javascript - 在 zip 文件中打开 zip 文件
- html - 如何将谷歌表格文档中单个单元格的文本数据添加到要在网站上显示的 html 中?
- r - 是否有更有效的方法在数据框中生成频率列
- c - 如何编写在 Windows 上运行的 c 代码?