1

R を使用して Twitter データを分析しようとしています。一定期間のツイート数をプロットすると、

plot(tweet_df$created_at, tweet_df$text)

次のエラー メッセージが表示されました。

Error in plot.window(...) : need finite 'xlim' values
In addition: Warning messages:
1: In xy.coords(x, y, xlabel, ylabel, log) : NAs introduced by coercion
2: In xy.coords(x, y, xlabel, ylabel, log) : NAs introduced by coercion
3: In min(x) : no non-missing arguments to min; returning Inf
4: In max(x) : no non-missing arguments to max; returning -Inf
5: In min(x) : no non-missing arguments to min; returning Inf
6: In max(x) : no non-missing arguments to max; returning -Inf

これが私が使用したコードです:

library("rjson")
json_file <- "tweet.json"
json_data <- fromJSON(file=json_file)
library("streamR")
tweet_df <- parseTweets(tweets=file)
#using the twitter data frame
tweet_df$created_at
tweet_df$text
plot(tweet_df$created_at, tweet_df$text) 
4

1 に答える 1

3

ここにはいくつかの問題がありますが、克服できないものはありません。時間の経過とともにツイートを追跡したい場合、実際には、x 時間枠ごとに作成されたツイート (1 分あたり、1 秒あたりのツイート数など) を求めていることになります。つまり、必要なのは列だけで、R の関数created_atを使用してグラフを作成できます。hist

テキストなどで言及されている単語で分割したい場合は、それも可能ですが、おそらく使用ggplot2して別の質問をする必要があります. parseTweetsとにかく、 twitter のタイムスタンプを文字フィールドに変換するように見えるのでPOSIXct、R が理解できるタイムスタンプ フィールドに変換する必要があります。次のようなデータ フレームがあるとします。

❥ head(tweet_df[,c("id_str","created_at")])
              id_str                     created_at
1 597862782101561346 Mon May 11 20:36:09 +0000 2015
2 597862782097346560 Mon May 11 20:36:09 +0000 2015
3 597862782105694208 Mon May 11 20:36:09 +0000 2015
4 597862782105694210 Mon May 11 20:36:09 +0000 2015
5 597862782076198912 Mon May 11 20:36:09 +0000 2015
6 597862782114078720 Mon May 11 20:36:09 +0000 2015

次のようにできます。

❥ dated_tweets <- as.POSIXct(tweet_df$created_at, format = "%a %b %d %H:%M:%S +0000 %Y")

これにより、R のタイムスタンプ形式で日付付きツイートのベクトルが得られます。次に、このようにプロットできます。サンプルの Twitter フィードを 15 分ほど開いたままにしました。結果は次のとおりです。

❥ hist(dated_tweets, breaks ="secs", freq = TRUE)

ここに画像の説明を入力

于 2015-05-11T21:24:24.730 に答える