我正在尝试将时间序列数据从Apple Health导出转换为xts格式。但是,我无法获得正确的数据格式。
new = health_df %>%
mutate(
Type = str_remove(type, "HKQuantityTypeIdentifier"),
Value = as.numeric(as.character(value)),
Date = as_datetime(creationDate)) %>%
filter(Type == 'HeartRate') %>%
select(Date, Type, Value)
> head(new)
# A tibble: 6 x 3
Date Type Value
<dttm> <chr> <dbl>
1 2021-07-27 13:12:32 HeartRate 80
2 2021-07-27 13:12:38 HeartRate 79
3 2021-07-27 13:12:42 HeartRate 76
4 2021-07-27 13:12:47 HeartRate 73
5 2021-07-27 13:12:52 HeartRate 71
6 2021-07-27 13:12:57 HeartRate 71
> class(new$Date)
[1] "POSIXct" "POSIXt"
> new = as.xts(new, dateFormat = "POSIXct")
Error in as.POSIXlt.character(x, tz, ...) :
character string is not in a standard unambiguous format
as.POSIXlt错误。字符(x, tz,…):字符串不是标准的明确格式
我检查了班级,一切似乎都很好……我还尝试指定格式
Date = as.POSIXct((Date), format = "%Y.%m.%d %H:%M:%S", tz="GMT"))
但这也不工作。
也许我是在错误的轨道上,我感谢你的帮助!最好的C正如@phiver所提到的,您只需要在xts
矩阵中保留数字数据。此外,由于Date
列已经是POSIXct
类型,您不需要更改它。尝试——
new_xts <- xts::xts(new$Value, order.by = new$Date)