我的入院时间格式为POSIXct“1899-12-31 13:11:00”。我对这些数据/时间的日期不感兴趣,所以我使用lubridate包提取了小时、分钟和秒,并将其格式化为“%H:%M:%S”。然后我使用ITime更改了值的格式,ITime是一个以一天中的整数秒数存储的时间类。我转换为这种格式是因为我希望能够对入院时间(平均值、中位数、最小值/最大值)进行汇总统计。
到目前为止,一切似乎都很好。例如,我可以使用mean(sample_data$HOSP_ADMSN_TIME.x)
,R将输出“14:11:18”,这正是我想要的。我遇到的问题是,当我将HOSP_ADMSN_TIME.x
传递给gtsummary
时,我认为它将其视为连续变量,并且它在汇总表中输出的值不正确/对我来说没有意义。gtsummary中的入院时间平均值显示为57,078,而不是预期的“14:11:18”。
所以我的主要问题是,gtsummary
是否可以使用ITime
将这些时间戳视为整数,以便我能够计算汇总统计数据?也许我使用了错误的方法将此数据沿着到gtsummary。
样本数据集
# A tibble: 10 × 1
HOSP_ADMSN_TIME.x
<dttm>
1 2021-04-19 10:00:00
2 2021-05-02 09:18:00
3 2021-09-09 15:06:00
4 2021-08-17 13:10:00
5 2022-01-18 11:44:00
6 2021-10-13 20:33:00
7 2021-05-06 19:09:00
8 2021-08-04 12:49:00
9 2021-11-15 11:00:00
10 2021-09-01 19:04:00
字符串
使用Lubridate剥离日期,然后转换为ITime
sample_data$HOSP_ADMSN_TIME.x \<- format(ymd_hms(sample_data$HOSP_ADMSN_TIME.x), "%H:%M:%S")
sample_data$HOSP_ADMSN_TIME.x \<- as.ITime(sample_data$HOSP_ADMSN_TIME.x)
型
检查算法是否工作并给出所需的输出
mean(sample_data$HOSP_ADMSN_TIME.x)
[1] "14:11:18"
型
将示例数据传递给gtsummary以创建汇总表
sample_data %\>%
tbl_summary(
label = list(HOSP_ADMSN_TIME.x \ ~ "Hospital Admission Time"),
missing = "ifany",
missing_text = "Missing",
type = HOSP_ADMSN_TIME.x \ ~ "continuous2",
statistic = HOSP_ADMSN_TIME.x \ ~ c("{mean}",
"{median} ({p25}, {p75})",
"{min}, {max}")
) %\>%
bold_labels() %\>%
modify_header(label \ ~ "**Variable**")
型
x1c 0d1x的数据
1条答案
按热度按时间8hhllhi21#
使用
chron::times
将HOSP_ADMSN_TIME.x
转换为时间对象对我来说很有效。字符串
输出
的数据
数据
型