使用 as.POSIXct 转换为日期时间

问题描述 投票:0回答:1

我有一列“日期时间”。 示例值:2016-12-05-16.25.54.875000

当我导入它时,R 将其读取为因子。

现在,当我通过减少“DateTime”对数据集进行排序时,最大日期时间是 2017 年 6 月 23 日。当我使用 DateTime = as.POSIXct(DateTime) 时,它会更改为 2017 年 6 月 22 日。这是怎么发生的?

附注我正在 Power BI 中运行这个 R 脚本。

r datetime posixct
1个回答
0
投票

首先发表一些评论。当您在 R 中读取字符串时,除非您另外指定,否则它们将作为因子导入。您可以使用选项

如果将数据定义为 R 中的字符串,则尝试 @Disco Superfly 所建议的方法

> a <- "2016-12-05-16.25.54.875000"
> as.POSIXct(a, format="%Y-%m-%d-%H.%M.%S") 
[1] "2016-12-05 16:25:54 CET"
> as.POSIXct(a)
[1] "2016-12-05 CET"

不清楚您所说的数据正在更改的事实。你能给出一个可重现的例子吗?

总而言之,如果您的日期是字符串,那么其他人已经建议的内容就可以完美工作。我想你想做的事情超出了你所解释的范围,因此我不明白你到底在说什么。

© www.soinside.com 2019 - 2024. All rights reserved.