使用POSIXct将日期时间组拆分为日期和时间列时R返回NA

hkmswyz6  于 2023-01-18  发布在  其他
关注(0)|答案(1)|浏览(123)

Dataframe 心率具有ID、日期时间组(作为字符)和值(作为三个变量)。使用代码将日期时间组拆分为日期和时间的单独列,但在时间字段中获得NA。
使用了以下代码

heartrate <- read_csv("../input/fitbit/Fitabase Data 4.12.16-5.12.16/heartrate_seconds_merged.csv")

head(heartrate)

str(heartrate)

glimpse(heartrate)

heartrate$New_date <- as.Date(heartrate$Time)

heartrate$New_time <- as.POSIXct(heartrate$Time, format = '%H:%M:%S')

生成的 Dataframe 在时间字段中显示NA:

**Id             New_time        New_date        Value**
<dbl>            <dttm>          <date>          <dbl>
2022484408       NA              4-12-20            97
2022484408       NA              4-12-20           102
2022484408       NA              4-12-20           105
2022484408       NA              4-12-20           103
2022484408       NA              4-12-20           101
2022484408       NA              4-12-20            95

有人能指导我获取以HH:MM:SS表示的时间值吗?谢谢

biswetbf

biswetbf1#

这可能会帮助你让它工作:

# Create a character vector of dates and times
dates_times <- c("2022-01-01 12:00:00", "2022-02-01 15:30:00", "2022-03-01 08:45:00")
dates_times <- as.POSIXct(dates_times, format = "%Y-%m-%d %H:%M:%S")

print(dates_times)

# "2022-01-01 12:00:00 NZDT" "2022-02-01 15:30:00 NZDT" "2022-03-01 08:45:00 NZDT"

# Use the format function to extract the date and time
date <- format(dates_times, format = "%Y-%m-%d")
time <- format(dates_times, format = "%H:%M:%S")

# Print the result
print(date)

# "2022-01-01" "2022-02-01" "2022-03-01"

print(time)

# "12:00:00" "15:30:00" "08:45:00"

相关问题