将因子格式的时间转换为时间戳

时间:2014-05-30 06:39:21

标签: r time

我已经以json格式下载了推文,将其转换为csv,并将其读入R.现有的时间戳采用因子格式,如下所示。我应该如何将其转换为可以对其进行绘制的时间戳?

[1] Fri May 09 07:55:12 +0000 2014 Fri May 09 07:55:12 +0000 2014 Fri May 09 07:55:12 +0000 2014
[4] Fri May 09 07:55:12 +0000 2014 Fri May 09 07:55:12 +0000 2014 Fri May 09 07:55:12 +0000 2014
516 Levels: Fri May 09 07:55:12 +0000 2014 ... Fri May 09 09:15:07 +0000 2014

2 个答案:

答案 0 :(得分:2)

我认为您的问题已经回答=> Convert Twitter Timestamp in R

但是如果你想要更简单,你可以使用twitteR库。

> tweets <- userTimeline("BarackObama",n=100)
> df <- do.call("rbind",lapply(tweets, as.data.frame))
> names(df)
 [1] "text"          "favorited"     "favoriteCount" "replyToSN"     "created"       "truncated"    
 [7] "replyToSID"    "id"            "replyToUID"    "statusSource"  "screenName"    "retweetCount" 
[13] "isRetweet"     "retweeted"     "longitude"     "latitude"  

我们可以直接绘制创建的状态日期

答案 1 :(得分:1)

在应用as.POSIXct之前,您可以删除字符串中不必要的部分。这可以通过gsub

完成
x <-  as.factor(c("Fri May 09 07:55:12 +0000 2014", 
                  "Fri May 09 07:55:12 +0000 2014"))

as.POSIXct(gsub("^.+? | \\+\\d{4}","", x),
          format = "%b %d %X %Y")
# [1] "2014-05-09 07:55:12 CEST" "2014-05-09 07:55:12 CEST"