在我的表格(超过12K行)中,我有一个名为Sleep Day的列,该列位于chr类型的数据中,具有以下信息模板:2016年12月4日12:00:00 AM

我试图将chr转换为日期和时间类型,但它只显示日期...

这是我的函数(表的名称:conventa\n):

conjunta_n$SleepDay<-as.Date(conjunta_n$SleepDay, format="%m/%d/%y %H:%M:%S")

问题是我一直得到以下两个结果之一:

输出1:2020-04-12

输出2:不适用

我无法获得时间部分,也无法获得日期和时间模板上的AM.

所需输出为:

2016年4月12日12:00:00 AM(日期时间类型)

请帮忙!

(我是R的新手)

推荐答案

您可以使用lubridate软件包:

lubridate::mdy_hms("4/12/2016 12:00:00 AM")
lubridate::mdy_hms("4/12/2016 12:00:01 AM")

但有一个与转换方法无关的问题.如果时间正好是午夜,那么R通常只打印日期.您可以在此处看到:

> lubridate::mdy_hms("4/12/2016 12:00:00 AM") %>% str
 POSIXct[1:1], format: "2016-04-12"
> lubridate::mdy_hms("4/12/2016 12:00:01 AM") %>% str
 POSIXct[1:1], format: "2016-04-12 00:00:01"

您还可以使用dput判断上述两个示例是否相差1秒,但在其他方面是相同的.

R相关问答推荐

从多个前置日期中获取最长日期

如何使用shinyChatR包配置聊天机器人

向gggplot 2中的数据和轴标签添加大写和星号

R Sapply函数产生的值似乎与for循环方法略有不同

在for循环中转换rabrame

如何将旋转后的NetCDF转换回正常的纬度/经度网格,并使用R?

如何调整曲线图中的y轴标签?

如何同时从多个列表中获取名字?

提取一个列表中单个列的重复观察结果R

2个Rscript.exe可执行文件有什么区别?

给定开始日期和月份(数字),如何根据R中的开始日期和月数创建日期列

当我们有多个反斜杠和/特殊字符时使用Gsubing

将多个变量组合成宽格式

减go R中列表的所有唯一元素对

是否可以将线性模型的p值添加到tbl_summary中

为什么将负值向量提升到分数次方会得到NaN

如果y中存在x中的值,则将y行中的多个值复制到相应的x行中

将`magick`对象转换为原始向量

在R中,如果一个值在同一数据帧中的任何特定列中,如何计算?

从不同长度的列中随机排序特定数量的元素