京橋のバイオインフォマティシャンの日常

南国のビーチパラソルの下で、Rプログラムを打ってる日常を求めて、、

R/rtweetを使って、Twitterでつぶやくための基本的な関数『post_tweet』のこと

rOpenSci (v. 0.6.9) によってレビューされたrtweetパッケージは、TwitterのRESTおよびストリームAPIを介して、Twitterのデータを収集・整理するために設計・実装された。

それを使用するためのR環境の初期設定については、 過去記事の「R/rtweetとか諸々を使って、つぶやきのテキスト解析 (形態素分析 + 感情分析) をやってみた件」を 参考にしてみてください。

skume.net

rtweetパッケージのインストール

rtweetパッケージは、CRAN版と開発版が使える。 インストールの仕方がそれぞれで変わってくる。

#CRANからリリース版のインストールの場合
install.packages("rtweet")

#GitHubから開発版のインストールの場合
install.packages("rtweet", repos = 'https://ropensci.r-universe.dev')

テキストをつぶやく

Twitterの基本操作としては、 ツイート、リプライ(返信)、いいね、リツイートなどがある。 1回につき140文字までのテキスト(=ツイート)や画像を投稿することができる。

post_tweet関数を使って、 ユーザーのTwitterアカウントにステータスアップデートを投稿する。 いわゆる、Twitterのツイートを行うことである。 テキストをつぶやく場合には、statusの引数を使う。

#ロード
library(rtweet)

#テキストをつぶやく
post_tweet( status = "何かをつぶやく" )

#Twitterサイトを開いて、確認する
browseURL("https://twitter.com/home?lang=ja")

画像をつぶやく

また、画像をつぶやく場合には、mediaの引数を使う。 適当な画像(e.g. R言語のロゴ)を用意して、mediaにそのパスを記述する。

#画像をつぶやく
post_tweet(media = "Rlogo.png")

Twitterアカウントに行くと、Rロゴが出力されている。

まとめ

post_tweet関数で、テキストとか画像とかをつぶやける。 他の関数と組み合わせることで、解析結果をツイートする、Botとかもできそうに思う。 近々、rtweetパッケージを使って、Bot作りもやってみようと思う。

rtweet内の関数の概要(機械翻訳)

関数名 概要
as_screenname ユーザー識別子をスクリーンネームとして評価するよう強制します。
bearer_token ベアラートークン。
create_token Twitter 認証トークンを作成します。
direct_messages 認証したユーザが送受信したダイレクトメッセージを取得します。を過去30日間から取得します。
do_call_rbind データフレームのリストを、属性(ツイートやユーザー)を保持したままバインドする
emojis 絵文字のコードと説明のデータです。
flatten データフレームをフラット化/アンフラット化する
get_collections ユーザIDやステータスIDでコレクションを取得する
get_favorites 対象ユーザがお気に入りに登録しているステータスのツイートデータを取得する。
get_followers 対象ユーザをフォローしているアカウントのユーザIDを取得します。
get_friends 対象のユーザーにフォローされているアカウントのユーザーIDを取得します。
get_mentions 認証したユーザーのメンションを取得します。
get_my_timeline 自分のタイムラインを取得します。
get_retweeters 指定されたステータスをリツイートしたユーザのユーザIDを取得します。
get_retweets 特定の Twitter ステータスに対する直近のリツイートを取得します。
get_timeline 1人または複数のユーザのタイムライン(対象ユーザが投稿したツイート)を取得します。
get_tokens Twitter の認証トークンを取得する。
get_trends Twitter のトレンドデータを取得する。
langs Twitter のデータで認識される言語コード。
lat_lng ツイッターデータに緯度・経度の変数を追加します。
lists_members Twitterのリストメンバー(リスト上のユーザー)を取得します。
lists_statuses 指定したリストのメンバーが作成したツイートのタイムラインを取得します。
lists_subscribers 指定したリストの購読者を取得します。
lists_subscriptions 指定したユーザーのリスト購読者を取得します。
lists_users 指定したユーザが購読しているすべてのリスト (自分自身のリストも含む) を取得します。
lookup_collections コレクションを、ユーザ名あるいはステータス ID で取得します。
lookup_coords 指定した位置の座標を取得します。
lookup_friendships 指定した二人のユーザ間の友人関係を調べます。
lookup_statuses 指定したステータス (ステータス ID) に対応するツイートデータを取得します。
lookup_users 指定したユーザ(ユーザ IDやスクリーンネーム)のTwitterユーザデータを取得します。
my_friendships ユーザ間の友人関係情報を検索します。
network_data ネットワークデータ
next_cursor next_cursor/previous_cursor/max_id
parse_stream Twitter のストリームデータ(JSONファイル)をパースしたデータフレームに変換します。
plain_tweets 文字ベクトル(ツイート)を、よりプレーンなテキストにクリーンアップします。
post_favorite 対象のステータスIDをお気に入りに登録します。
post_follow 対象のTwitterユーザーをフォローする。
post_friendship 友情関係の通知やリツイートを更新する。
post_list Twitterのリストを管理します
post_message ユーザーの Twitterアカウントからダイレクトメッセージを投稿します。
post_tweet ユーザーのTwitterアカウントにステータスアップデートを投稿する
rate_limit 指定した Twitter アクセストークンの制限値を取得する
read_twitter_csv カンマ区切り値の Twitter データを読み込みます。
round_time 日付と時刻の値を丸める汎用関数
search_30day 過去30日間のデータを検索する (PREMIUM)
search_fullarchive fullarchive を検索 (PREMIUM)
search_tweets 検索クエリで特定したステータスのツイートデータを取得する。
search_users 検索でヒットしたアカウントのユーザデータを取得します。
stopwordslangs Twitter のストップワード(多言語)データを取得します。
stream_tweets Twitterのライブストリームを収集します。
suggested_slugs ユーザー認証のためのユーザー[アカウント]候補を取得します。
trends_available Twitter のトレンドを、関連する WOEID と共に取得します。
ts_data ツイートデータを時系列的なデータオブジェクトに変換する。
ts_plot ツイートのデータを時系列的なデータオブジェクトとしてプロットします。
tweets_data ユーザデータからツイートデータを抽出する。
tweets_with_users tweets/usersデータのtibblesにデータをパースする
tweet_shot ツイート/スレッドの画像をキャプチャする
users_data tweets データオブジェクトからユーザデータを抽出する
write_as_csv Twitter のデータをカンマ区切りの値ファイルとして保存します。

参考資料

github.com

cran.r-project.org