source(here::here("data_collection/00_02-setup-session.R"))Quality Control: Chat Badges
Information
- The document sets up the session by sourcing a setup script.
- It imports chat data from a local file.
- It creates a list of user badges from the chat data.
- It provides a link to example images of the badges.
- It analyzes the frequency and distribution of badges per message.
Preparation
# Load data
chat <- qs::qread(here("local_data/chat-debates_full.qs"))Create list of badges
badges <- chat$correct %>%
select(message_id, user_badges) %>%
unnest(user_badges) %>%
mutate(
badge_name = sapply(user_badges, function(badge) badge$name),
) %>%
unnest(badge_name)
Note
For example images of the emojis visit https://twitchinsights.net/badges
badges %>%
frq(badge_name)badge_name <character>
# total N=677804 valid N=677804 mean=34.00 sd=8.99
Value | N | Raw % | Valid % | Cum. %
--------------------------------------------------------------------------------
ambassador | 9 | 0.00 | 0.00 | 0.00
anomaly_warzone_earth_1 | 19 | 0.00 | 0.00 | 0.00
battlerite_1 | 259 | 0.04 | 0.04 | 0.04
bits | 11124 | 1.64 | 1.64 | 1.68
bits_charity | 5246 | 0.77 | 0.77 | 2.46
bits_leader | 41 | 0.01 | 0.01 | 2.46
broadcaster | 724 | 0.11 | 0.11 | 2.57
chatter_cs_go_2022 | 1443 | 0.21 | 0.21 | 2.78
creator_cs_go_2022 | 1 | 0.00 | 0.00 | 2.78
cuphead_1 | 10 | 0.00 | 0.00 | 2.78
destiny_2_final_shape_raid_race | 7713 | 1.14 | 1.14 | 3.92
destiny_2_the_final_shape_streamer | 376 | 0.06 | 0.06 | 3.98
dreamcon_2024 | 1026 | 0.15 | 0.15 | 4.13
eso_1 | 25 | 0.00 | 0.00 | 4.13
firewatch_1 | 5 | 0.00 | 0.00 | 4.13
founder | 356 | 0.05 | 0.05 | 4.19
game_developer | 96 | 0.01 | 0.01 | 4.20
glhf_pledge | 8441 | 1.25 | 1.25 | 5.45
glitchcon2020 | 19012 | 2.80 | 2.80 | 8.25
gold_pixel_heart | 5194 | 0.77 | 0.77 | 9.02
H1Z1_1 | 107 | 0.02 | 0.02 | 9.03
hype_train | 4200 | 0.62 | 0.62 | 9.65
la_velada_iv | 2628 | 0.39 | 0.39 | 10.04
minecraft_15th_anniversary_celebration | 2804 | 0.41 | 0.41 | 10.45
moderator | 19200 | 2.83 | 2.83 | 13.29
no_audio | 18780 | 2.77 | 2.77 | 16.06
no_video | 13104 | 1.93 | 1.93 | 17.99
overwatch_league_insider_1 | 376 | 0.06 | 0.06 | 18.05
overwatch_league_insider_2018B | 226 | 0.03 | 0.03 | 18.08
overwatch_league_insider_2019A | 1451 | 0.21 | 0.21 | 18.29
partner | 15617 | 2.30 | 2.30 | 20.60
predictions | 11701 | 1.73 | 1.73 | 22.32
premium | 193824 | 28.60 | 28.60 | 50.92
raging_wolf_helm | 88083 | 13.00 | 13.00 | 63.92
rplace_2023 | 7954 | 1.17 | 1.17 | 65.09
staff | 158 | 0.02 | 0.02 | 65.11
streamer_awards_2024 | 2321 | 0.34 | 0.34 | 65.45
sub_gift_leader | 262 | 0.04 | 0.04 | 65.49
sub_gifter | 15331 | 2.26 | 2.26 | 67.76
subscriber | 106973 | 15.78 | 15.78 | 83.54
subtember_2024 | 7010 | 1.03 | 1.03 | 84.57
superultracombo_2023 | 15703 | 2.32 | 2.32 | 86.89
the_game_awards_2023 | 242 | 0.04 | 0.04 | 86.92
the_golden_predictor_of_the_game_awards_2023 | 4 | 0.00 | 0.00 | 86.92
turbo | 27778 | 4.10 | 4.10 | 91.02
twitch_dj | 365 | 0.05 | 0.05 | 91.08
twitch_recap_2023 | 53608 | 7.91 | 7.91 | 98.99
twitchcon_2024___rotterdam | 289 | 0.04 | 0.04 | 99.03
twitchcon_2024___san_diego | 1802 | 0.27 | 0.27 | 99.29
twitchcon2017 | 304 | 0.04 | 0.04 | 99.34
twitchcon2018 | 353 | 0.05 | 0.05 | 99.39
twitchconAmsterdam2020 | 122 | 0.02 | 0.02 | 99.41
twitchconEU2019 | 129 | 0.02 | 0.02 | 99.43
twitchconEU2022 | 197 | 0.03 | 0.03 | 99.46
twitchconEU2023 | 62 | 0.01 | 0.01 | 99.47
twitchconNA2019 | 282 | 0.04 | 0.04 | 99.51
twitchconNA2022 | 997 | 0.15 | 0.15 | 99.66
twitchconNA2023 | 363 | 0.05 | 0.05 | 99.71
vip | 723 | 0.11 | 0.11 | 99.82
zevent_2024 | 1251 | 0.18 | 0.18 | 100.00
<NA> | 0 | 0.00 | <NA> | <NA>
Distribution of badges per message
badges %>%
group_by(message_id) %>%
summarise( n = n()) %>%
describe_distribution()Variable | Mean | SD | IQR | Range | Skewness | Kurtosis | n | n_Missing
--------------------------------------------------------------------------------------
n | 1.16 | 0.38 | 0 | [1.00, 3.00] | 2.05 | 2.94 | 582419 | 0