2017-07-03 192 views
0

我有一列“DateTime”。 示例值:2016-12-05-16.25.54.875000使用as.POSixct转换为日期时间

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

现在,当我整理通过降低“日期时间”的数据集,最大的日期时间为2017年六月23当我使用的DateTime = as.POSIXct(日期时间),它改变到2017年六月22怎么会这样呢?

P.S.我在Power BI中运行这个R脚本。

+1

您是否尝试在as.POSIXct(datatime,format =“%Y-%m-%d-%H.%M.%S”)中指定格式' – Suren

+0

我看到您也有毫秒。看到这个,https://stackoverflow.com/questions/22037657/milliseconds-in-posixct-class – Suren

回答

0

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

尝试什么@Disco Superfly的曾建议的作品,如果你R中定义的数据作为一个字符串

> 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" 

不太清楚你说的事实,数据被修改了什么。你能举一个可重现的例子吗?总而言之,如果您的日期是其他已经建议的字符串,那么完美无缺。我想你正在努力做比你解释的更多的东西,因此我不明白你在说什么。

+0

嗨,谢谢你的回应。 当我在R中做as.POSixct时,它转换没有任何问题。当我使用Power BI中的R脚本选项执行相同的操作时,会出现此问题。 –

+0

检查此链接https://thusithamabotuwana.wordpress.com/2016/08/27/working-with-date-fields-in-r-and-power-bi/#ampshare=https://thusithamabotuwana.wordpress.com/2016/08/27/working-with-date-fields-in-r-and-power-bi /这可能很有帮助。 SAS也是如此,因为它使用不同的来源来计算日期。 – Umberto