cucumber flesh

Rを中心としたデータ分析・統計解析らへんの話題をしていくだけ

💮Slack上で行われた投票の開票

Slackでは絵文字を使ってチームメンバーどうしで意見を伝え合うシステムがある。

722 ways to say “I got your message” | Several People Are Typing

これはいいね 👍 とか良くないね 👎とか気持ちを表現したり、メンバーに対して意見を求める際に投票してもらうためのツールとなり得る(例えば、今日食べたいものに投票、として、🍣, 🍜 🍙, 🍺 とかを設定するとメンバーが食べたい料理がわかったりする。個々の意見を集約するのに、わざわざ発言しなくてボタンをぽちっと押すだけで良いので楽。

これが結構楽しくて各地で絵文字による投票を開催している(主に自分。参考... 🔰データフレームのオブジェクト名はどう決めていますか? - まだ厨二病

またSlackでは、チャンネルごとに過去のログを記録してくれていて、なんとダウンロード可能。本当はダウンロードまで自動化したかったのだけど、そこは力不足で諦めた。

過去ログファイルをダウンロードしてきたら、投票データの含まれる日付ファイルを引数に与えてあげるだけという手抜き設定。例によってソースはGistにある。以下実行例。

devtools::source_gist("https://gist.github.com/uribo/7b245895e00470b86289")
slack_vote(path = "2015-08-19.json") %>% 
  # せっかくなので絵文字に変換する。
  dplyr::mutate(name = paste(emoji(name), name, " ")) %>% 
  knitr::kable()
name users count
🍣 sushi U06PCFMG8, U06QB6TA8, U06QAMT37 3
🍕 pizza U06PCFMG8 1
🍜 ramen U06PCFMG8, U06QB6TA8 2
🍙 rice_ball U06PCFMG8, U06PFKKTM, U06PFK4PP, U06PQ373P, U06PER5U7, U06PF5MJ5, U06PG7FD1, U06QB6TA8, U06Q9BZM2, U06QAMT37 10

誰が投票したか、何票入ったか、といった情報が得られる。

ファイルをダウンロードしてくる手間を考慮したら、手打ちでいいのでは...という声が聞こえる。