2011-01-14 21 views
5

私はRを初めて使い、処理日がひどいです。次の日付は、クエリからTwitter検索APIに返され、myデータフレームに文字列として格納されます。Convert Twitter Timestamp in R

「金、2011年1月14日午前3時01分22秒0000」私は今までにこれを変換し、東部標準時間であることをタイムゾーンを変更するにはどうすればよい

私はこれはおそらくまっすぐだと思っていますが、私はstrptimeを手放してどこにも行きませんでした。

ご協力いただきますようお願い申し上げます。 help(strptime)から

+0

、それが少なくとも少しお役に立てば幸いですか! - 更新:nvm、私はRが言語であることを知らなかった。 Doh。 – coreyward

答えて

9

これは私の作品(私は英国にいる):

> (str <- "Fri, 14 Jan 2011 03:01:22 +0000") 
[1] "Fri, 14 Jan 2011 03:01:22 +0000" 

> (str <- strptime(str, "%a, %d %b %Y %H:%M:%S %z", tz = "GMT")) 
[1] "2011-01-14 03:01:22 GMT" 

> (dt.gmt <- as.POSIXct(str, tz = "GMT")) 
[1] "2011-01-14 03:01:22 GMT" 

> format(dt.gmt, tz = "EST", usetz = TRUE) 
[1] "2011-01-13 22:01:22 EST" 

日付/時刻は私に多くのことを混同し、私はよあなたがGMTとは異なるタイムゾーンにいても、上記のことがあなたのために働くことを望みますが、私は確信できません!

あなたは何語を使用している トニー

+0

こんにちはトニー、助けてくれてありがとう。私のマシンでは、第2のコマンドの表現は、以下で受け取ったように "NA"を返します。他の回答に参照されるように、私のロケール設定と関係があるとお考えですか?私もWindows 7のマシンです。 – Btibert3

+0

私は2.12にアップグレードしましたが、このコードは期待通りに機能しました(2.10)。これら2つのバージョンの間に違う何かがありましたか? – Btibert3

+0

@ Btibert3 Rの2つのバージョンの間で何が変わったのか分かりませんが、あなたにとってはうれしかったです。 :) –

6

> Sys.setlocale("LC_TIME", "C") 
[1] "C" 
> strptime("Tue, 23 Mar 2010 14:36:38 -0400", 
+   "%a, %d %b %Y %H:%M:%S %z", 
+   tz="GMT") 
[1] "2010-03-23 18:36:38 GMT" 

は、ロケールに注意してください:あなたはCにそれをリセットしない場合、この関数は、ローカライズとして曜日や月の略語を解析しようとします。

+0

あなたの助けていただきありがとうございますが、私はあなたのサンプルコードを実行しようとしたとき、私のマシン上でNAと評価しました。私は自分のデータを使って同じ関数呼び出しを試みても同じことをしました。 – Btibert3

+0

最初はNAも取得していました。ロケールをリセットするのを忘れていませんでしたか? – ulidtko

+0

はい、あなたのコードを実行しましたが、それは日付に評価されませんでした。あなたの助けをもう一度感謝し、ちょうど困った。 – Btibert3

1

CRANのJeff GentryのtwitteRパッケージを強くお勧めします。他の細かい点の中で、それはあなたのための日付文字列を解析します

> library(twitteR) 
> tweets = searchTwitter('#rstats') 
> length(tweets) 
[1] 25 
> tweet = tweets[[1]] 
> str(tweet) 
Formal class 'status' [package "twitteR"] with 10 slots 
    [email protected] text  : chr "The Joy of Sweave \023 A Beginner\031s Guide to Reproducible Research with Sweave: Just& http://goo.gl/fb/APmCb #rstats" 
    [email protected] favorited : logi FALSE 
    [email protected] replyToSN : chr(0) 
    [email protected] created  : POSIXct[1:1], format: "2011-01-18 04:48:05" 
    [email protected] truncated : logi FALSE 
    [email protected] replyToSID : num(0) 
    [email protected] id   : num 2.72e+16 
    [email protected] replyToUID : num(0) 
    [email protected] statusSource: chr "&lt;a href=&quot;http://www.google.com/support/youtube/bin/answer.py?hl=en&amp;answer=164577&quot; rel=&quot;nofollow&quot;&gt;"| __truncated__ 
    [email protected] screenName : chr "Rbloggers" 
+0

こんにちはジェフリー、私はそれを見て、パッケージは素晴らしいです。私のために働かなかったことの1つは、私が必要とするクラス 'ステータス'のIDを取得するためのIDコールでした。それはあなたのために働くのですか?私はTwitterからデータを取得していますが、これを一般的な日付解析の例として使用しています。再びThx。 – Btibert3

+0

ああ、私は今それが浮動小数点としてIDを扱うことがわかります。ええ - それはおそらくうまくいくわけではありません... –