Rで時系列の解析をしています。
時刻をUTCからJSTに変更したいのですが、エラーが出てしまいます。
具体的には、
以下のコードを打つと
tw_time <- tw_data[["created_at"]] %>%
as.POSIXct(tz = "Etc/GMT") %>%
as.POSIXlt(tz = "Japan")
(tw_data はこれよりも上の部分で定義済みです)
as.POSIXct.default(., tz = "Etc/GMT") でエラー: というエラーメッセージが出ます。
内なおしてみても、同じでした。どうしたら解決できますか?よろしくお願いします。
tw_data[["created_at"]] の値の中身はどのようになっていますか?
ありがとうございます。上に書いてあるままで、他の中身はないです・・(>_<)
プログラムのコードではなく、
print(tw_data) とするとどうなりますか?という意味ですね。変数の中身に何が入っているかを知りたいのです。
> tw_data
0 列 0 行のデータフレーム でしたでした・・・
dataの定義のところを、書き出すと
since <- c("2020-01-01") # 00:00:00から
until <- c("2020-01-31") # 23:59:59まで
tw_data <- search_tweets(q = "腹痛",
since = since, #開始期間
until = until, #終了期間
n=10000,
include_rts = FALSE,
langs = "ja")
です。データが入っていないことが関係しているのでしょうか?
うーんそうでしょうねえ。データが入っていないものを変換できないですよねえ
search_tweetsがうまく動いていないってことですねえ。
ちなみにsinceなどのパラメータは今はなさそうですねえ
https://www.rdocumentation.org/packages/rtweet/versions/0.7.0/topics/search_tweets
tw_data <- search_tweets(q = "腹痛",
n=10,
include_rts = FALSE,
langs = "ja")
> tw_time <- tw_data[["created_at"]] %>%
as.POSIXct(tz = "Etc/GMT") %>%
as.POSIXlt(tz = "Japan")
> tw_time
[1] "2021-03-11 14:03:31 JST" "2021-03-11 14:03:13 JST"
[3] "2021-03-11 14:03:12 JST" "2021-03-11 14:03:04 JST"
[5] "2021-03-11 14:02:44 JST" "2021-03-11 14:02:44 JST"
[7] "2021-03-11 14:02:35 JST" "2021-03-11 14:02:28 JST"
[9] "2021-03-11 14:01:48 JST" "2021-03-11 14:01:47 JST"
これなら動きますね!
あ、理由わかりました
https://developer.twitter.com/en/docs/twitter-api/v1/tweets/search/api-reference/get-search-tweets
Keep in mind that the search index has a 7-day limit. In other words, no tweets will be found for a date older than one week.
since <- c("2021-03-09") # 00:00:00から
until <- c("2021-03-11") # 23:59:59まで
tw_data <- search_tweets(q = "腹痛",
since = since, #開始期間
until = until, #終了期間
n=10000,
include_rts = FALSE,
langs = "ja")
のように、直近データなら取れそうですよ。
ありがとうございます(*´ω`*)確かに動きました!直近以外のデータを集める方法って、アカデミック版のAPIを取得する必要があるのかもしれません・・・(>_<)とても勉強になりました。
質問として以上で解決ということであれば解決の結果をまとめて記載し完了としてください〜
回答1件
あなたの回答
tips
プレビュー