从R中的角色到日期

时间:2015-09-18 21:20:01

标签: r posixct

我已经阅读了很多这样的问题,但我想我在这里遇到了不同的角色向量,所以没有一个答案解决了我的问题。

我有一个像下面那样的角色载体

"Fri Sep 18 17:01:33 +0000 2015"

我希望转换为像

这样的日期向量
2015-09-18 17:01:33

然后我可以用这些来制作情节。

如果有帮助,这些数据来自使用streamR包的Twitter API。

谢谢。

编辑:我同事的所有努力都只在我的电脑中产生了NA,因为我的系统语言是巴西葡萄牙语。找到了解决问题的方法:

strptime, as.POSIXct and as.Date return unexpected NA

2 个答案:

答案 0 :(得分:1)

你不需要消除+0000,它是以UTC为单位的分钟表示的偏差,有时候(不是0000这个)它可能非常有用并以正确的方式转换数据

以下是strptime的工作示例:

x <- "Fri Sep 18 17:01:33 +0000 2015"
strptime(x, "%a %b %d %H:%M:%S %z %Y", tz = "UTC")
[1] "2015-09-18 17:01:33 UTC"

答案 1 :(得分:1)

您正在执行gsub错误。您应该转义+符号,以使您的模式为'\\+0000'。 结合:

    > x <- "Fri Sep 18 17:01:33 +0000 2015"
    > gsub('\\+0000', '', x)
    [1] "Fri Sep 18 17:01:33  2015"
    > x <- gsub('\\+0000', '', x)
    > strptime(x, format = '%a %b %d %H:%M:%S  %Y')
    [1] "2015-09-18 17:01:33 PDT"

应该这样做。

相关问题