将R中的字符转换为日期
我在R中有一个数据帧,其中日期列作为字符。当我试图用下面的代码将其转换为日期时,它会给我一个错误将R中的字符转换为日期,r,date,R,Date,我在R中有一个数据帧,其中日期列作为字符。当我试图用下面的代码将其转换为日期时,它会给我一个错误 No First Landing Page Submission Date 1 2 3 31-07-2016 16:57 4 31-07-2016 16:38 5 1/8/2016 4:58 6 7 31-07-2016 15:40 8 9
No First Landing Page Submission Date
1
2
3 31-07-2016 16:57
4 31-07-2016 16:38
5 1/8/2016 4:58
6
7 31-07-2016 15:40
8
9 31-07-2016 14:49
10
11 31-07-2016 14:41
12 31-07-2016 13:51
数据在csv文件中正是上述格式
df$First.Landing.Page.Submission.Date <- as.Date(df$First.Landing.Page.Submission.Date)
当我使用lubridate包中的解析函数时,它给出了这种形式的转换
df$First.Landing.Page.Submission.Date <- parse_date_time(df$First.Landing.Page.Submission.Date, orders="dmy hms")
No First.Landing.Page.Submission.Date
1 <NA>
2 <NA>
3 2020-07-31 16:16:57
4 2020-07-31 16:16:38
5 2020-08-01 16:04:58
6 <NA>
df$First.Landing.Page.Submission.Date您可以使用lubridate的dmy\U hms
功能,并选择truncated=1
lubridate::dmy_hms(df1$FirstLanding, truncated = 1)
当数据不完整时,此选项很有用。在这种特殊情况下,缺少DMY-HMS格式所需的秒数 您可以创建一个简短的列名吗?关于作为.Date
,您还应该指定格式,即%d-%m-%Y%H:%m
即作为.Date(df$First.Landing.Page.Submission.Date,format=“%d-%m-%Y%H:%m”)
@akrun,即使我指定格式,它也会将日期转换为2020-07-31 16:16:57
lubridate::dmy_hms(df1$FirstLanding, truncated = 1)