r语言 - 使用col_type在reader中解析日期时获取NAs



我有一个这个数据集,我试图通过使用col_type规范解析日期

dailyActivityMerged <- read_csv("/cloud/project/Fitabase Data/dailyActivity_merged.csv", 
col_types = list(
Id = col_double(),
ActivityDate = col_date(format = "%m %d %Y"),
TotalSteps = col_double(),
TotalDistance = col_double(),
TrackerDistance = col_double(),
LoggedActivitiesDistance = col_double(),
VeryActiveDistance = col_double(),
ModeratelyActiveDistance = col_double(),
LightActiveDistance = col_double(),
SedentaryActiveDistance = col_double(),
VeryActiveMinutes = col_double(),
FairlyActiveMinutes = col_double(),
LightlyActiveMinutes = col_double(),
SedentaryMinutes = col_double(),
Calories = col_double()
))

但我得到一个错误,所有日期都被转换为NA在ActivityDate列。

你能告诉我为什么会发生这种情况,以及如何以日期格式获得日期吗?

原因是按照链接

中显示的数据列格式,格式应该是%m/%d/%Y而不是%m %d %Y
library(readr)
dailyActivityMerged <- read_csv("/cloud/project/Fitabase Data/dailyActivity_merged.csv", 
col_types = list(
Id = col_double(),
ActivityDate = col_date(format = "%m/%d/%Y"),
TotalSteps = col_double(),
TotalDistance = col_double(),
TrackerDistance = col_double(),
LoggedActivitiesDistance = col_double(),
VeryActiveDistance = col_double(),
ModeratelyActiveDistance = col_double(),
LightActiveDistance = col_double(),
SedentaryActiveDistance = col_double(),
VeryActiveMinutes = col_double(),
FairlyActiveMinutes = col_double(),
LightlyActiveMinutes = col_double(),
SedentaryMinutes = col_double(),
Calories = col_double()
))

-现在检查结构

> str(dailyActivityMerged)
spec_tbl_df [940 × 15] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
$ Id                      : num [1:940] 1.5e+09 1.5e+09 1.5e+09 1.5e+09 1.5e+09 ...
$ ActivityDate            : Date[1:940], format: "2016-04-12" "2016-04-13" "2016-04-14" "2016-04-15" ...
$ TotalSteps              : num [1:940] 13162 10735 10460 9762 12669 ...
$ TotalDistance           : num [1:940] 8.5 6.97 6.74 6.28 8.16 ...
$ TrackerDistance         : num [1:940] 8.5 6.97 6.74 6.28 8.16 ...
$ LoggedActivitiesDistance: num [1:940] 0 0 0 0 0 0 0 0 0 0 ...
$ VeryActiveDistance      : num [1:940] 1.88 1.57 2.44 2.14 2.71 ...
$ ModeratelyActiveDistance: num [1:940] 0.55 0.69 0.4 1.26 0.41 ...
$ LightActiveDistance     : num [1:940] 6.06 4.71 3.91 2.83 5.04 ...
$ SedentaryActiveDistance : num [1:940] 0 0 0 0 0 0 0 0 0 0 ...
$ VeryActiveMinutes       : num [1:940] 25 21 30 29 36 38 42 50 28 19 ...
$ FairlyActiveMinutes     : num [1:940] 13 19 11 34 10 20 16 31 12 8 ...
$ LightlyActiveMinutes    : num [1:940] 328 217 181 209 221 164 233 264 205 211 ...
$ SedentaryMinutes        : num [1:940] 728 776 1218 726 773 ...
$ Calories                : num [1:940] 1985 1797 1776 1745 1863 ...
- attr(*, "spec")=
.. cols(
..   Id = col_double(),
..   ActivityDate = col_date(format = "%m/%d/%Y"),
..   TotalSteps = col_double(),
..   TotalDistance = col_double(),
..   TrackerDistance = col_double(),
..   LoggedActivitiesDistance = col_double(),
..   VeryActiveDistance = col_double(),
..   ModeratelyActiveDistance = col_double(),
..   LightActiveDistance = col_double(),
..   SedentaryActiveDistance = col_double(),
..   VeryActiveMinutes = col_double(),
..   FairlyActiveMinutes = col_double(),
..   LightlyActiveMinutes = col_double(),
..   SedentaryMinutes = col_double(),
..   Calories = col_double()
.. )

最新更新