TV Series

code
Author

Nikhita Purohit

Published

November 4, 2025

Rating TV Series

Comparing Popular TV Series

EXPERIMENT OBJECTIVE: To study how differently students rate three tv shows- Modern Family, Friends and Big Bang Theory.

1. Setting up R Packages

# SETUP CHUNK- LIBRARIES
#| label: setup
#| echo: false
#| warning: false
#| message: false

library(tidyverse)
── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
✔ dplyr     1.1.4     ✔ readr     2.1.5
✔ forcats   1.0.0     ✔ stringr   1.5.2
✔ ggplot2   4.0.0     ✔ tibble    3.3.0
✔ lubridate 1.9.4     ✔ tidyr     1.3.1
✔ purrr     1.1.0     
── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
✖ dplyr::filter() masks stats::filter()
✖ dplyr::lag()    masks stats::lag()
ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(mosaic) # Our all-in-one package
Registered S3 method overwritten by 'mosaic':
  method                           from   
  fortify.SpatialPolygonsDataFrame ggplot2

The 'mosaic' package masks several functions from core packages in order to add 
additional features.  The original behavior of these functions should not be affected by this.

Attaching package: 'mosaic'

The following object is masked from 'package:Matrix':

    mean

The following objects are masked from 'package:dplyr':

    count, do, tally

The following object is masked from 'package:purrr':

    cross

The following object is masked from 'package:ggplot2':

    stat

The following objects are masked from 'package:stats':

    binom.test, cor, cor.test, cov, fivenum, IQR, median, prop.test,
    quantile, sd, t.test, var

The following objects are masked from 'package:base':

    max, mean, min, prod, range, sample, sum
library(skimr) # Looking at data

Attaching package: 'skimr'

The following object is masked from 'package:mosaic':

    n_missing
library(janitor) # Clean the data

Attaching package: 'janitor'

The following objects are masked from 'package:stats':

    chisq.test, fisher.test
library(naniar) # Handle missing data

Attaching package: 'naniar'

The following object is masked from 'package:skimr':

    n_complete
library(visdat) # Visualise missing data
library(tinytable) # Printing Static Tables for our data

Attaching package: 'tinytable'

The following object is masked from 'package:ggplot2':

    theme_void
library(DT) # Interactive Tables for our data
library(crosstable) # Multiple variable summaries

Attaching package: 'crosstable'

The following object is masked from 'package:purrr':

    compact
library(ggformula) # Formula based plots
library(broom) # Tidy outputs from Statistical Analyses
library(infer) # Statistical Inference, Permutation/Bootstrap

Attaching package: 'infer'

The following objects are masked from 'package:mosaic':

    prop_test, t_test
library(supernova) # Beginner-Friendly ANOVA Tables
library(ggstatsplot) # Statistical Plots
You can cite this package as:
     Patil, I. (2021). Visualizations with statistical details: The 'ggstatsplot' approach.
     Journal of Open Source Software, 6(61), 3167, doi:10.21105/joss.03167
library(ggcompare) # Improved p.value brackets on graphs
library(patchwork) # Arranging Plots
library(ggprism) # Interesting Categorical Axes
library(paletteer) # Color Palettes

2. Read Data

tv_modified <- tv <- readr::read_csv("../data/2-tv_series.csv")%>%
  # Clean variable names
  janitor::clean_names(case="snake")
Rows: 52 Columns: 5
── Column specification ────────────────────────────────────────────────────────
Delimiter: ","
chr (2): Name, Gender
dbl (3): Friends, Modern Family, Big Bang Theory

ℹ Use `spec()` to retrieve the full column specification for this data.
ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
tv_modified
# A tibble: 52 × 5
   name    gender friends modern_family big_bang_theory
   <chr>   <chr>    <dbl>         <dbl>           <dbl>
 1 Diya    Female       8           9               9  
 2 Ihina   Female       7           9               6  
 3 Abhinav Male         8          10               7  
 4 Nikhita Female       7           9               6  
 5 Rishi   Male         8           6               5  
 6 Charvi  Female       6           9               5.5
 7 Maya    Female       8           7.5             9  
 8 Anuva   Female       4           8               6  
 9 Shourya Male         9           8               5  
10 Sarthak Male         7           9               3  
# ℹ 42 more rows

3. Examine Data

dplyr::glimpse(tv_modified)
Rows: 52
Columns: 5
$ name            <chr> "Diya", "Ihina", "Abhinav", "Nikhita", "Rishi", "Charv…
$ gender          <chr> "Female", "Female", "Male", "Female", "Male", "Female"…
$ friends         <dbl> 8.0, 7.0, 8.0, 7.0, 8.0, 6.0, 8.0, 4.0, 9.0, 7.0, NA, …
$ modern_family   <dbl> 9.0, 9.0, 10.0, 9.0, 6.0, 9.0, 7.5, 8.0, 8.0, 9.0, 9.5…
$ big_bang_theory <dbl> 9.0, 6.0, 7.0, 6.0, 5.0, 5.5, 9.0, 6.0, 5.0, 3.0, 6.0,…
skimr::skim(tv_modified)
Data summary
Name tv_modified
Number of rows 52
Number of columns 5
_______________________
Column type frequency:
character 2
numeric 3
________________________
Group variables None

Variable type: character

skim_variable n_missing complete_rate min max empty n_unique whitespace
name 0 1 4 8 0 49 0
gender 0 1 4 6 0 2 0

Variable type: numeric

skim_variable n_missing complete_rate mean sd p0 p25 p50 p75 p100 hist
friends 1 0.98 7.01 1.99 1 6.25 7 8 10 ▁▁▂▇▃
modern_family 2 0.96 8.37 1.54 3 8.00 9 9 10 ▁▁▂▅▇
big_bang_theory 3 0.94 6.50 1.97 2 5.00 7 8 10 ▂▃▂▇▃
names(tv_modified)
[1] "name"            "gender"          "friends"         "modern_family"  
[5] "big_bang_theory"
visdat::vis_dat(tv, sort_type = TRUE, palette = "default")

tv_modified <- tv %>% tidyr::drop_na()
tv_modified
# A tibble: 46 × 5
   name    gender friends modern_family big_bang_theory
   <chr>   <chr>    <dbl>         <dbl>           <dbl>
 1 Diya    Female       8           9               9  
 2 Ihina   Female       7           9               6  
 3 Abhinav Male         8          10               7  
 4 Nikhita Female       7           9               6  
 5 Rishi   Male         8           6               5  
 6 Charvi  Female       6           9               5.5
 7 Maya    Female       8           7.5             9  
 8 Anuva   Female       4           8               6  
 9 Shourya Male         9           8               5  
10 Sarthak Male         7           9               3  
# ℹ 36 more rows
visdat::vis_dat(tv_modified, sort_type = TRUE, palette = "default")

tv_modified %>%
  dplyr::summarise(across(
    .cols = c(friends, modern_family, big_bang_theory), # select columns

    .fns = list(
      mean = ~ mean(., na.rm = T),
      sd = sd,
      min = min, max = max
    )
  ))%>% 
  tt()
friends_mean friends_sd friends_min friends_max modern_family_mean modern_family_sd modern_family_min modern_family_max big_bang_theory_mean big_bang_theory_sd big_bang_theory_min big_bang_theory_max
6.891304 2.016358 1 10 8.304348 1.572253 3 10 6.445652 1.992286 2 10
tv_modified <- tv %>%
  dplyr::mutate(across(where(is.character), as.factor)) %>% 
  relocate(where(is.factor))
glimpse(tv_modified)
Rows: 52
Columns: 5
$ name            <fct> Diya, Ihina, Abhinav, Nikhita, Rishi, Charvi, Maya, An…
$ gender          <fct> Female, Female, Male, Female, Male, Female, Female, Fe…
$ friends         <dbl> 8.0, 7.0, 8.0, 7.0, 8.0, 6.0, 8.0, 4.0, 9.0, 7.0, NA, …
$ modern_family   <dbl> 9.0, 9.0, 10.0, 9.0, 6.0, 9.0, 7.5, 8.0, 8.0, 9.0, 9.5…
$ big_bang_theory <dbl> 9.0, 6.0, 7.0, 6.0, 5.0, 5.5, 9.0, 6.0, 5.0, 3.0, 6.0,…
tv_modified %>%
  stats::setNames(c("Name", "Gender", "Friends", "Modern_Family", "Big_Bang_Theory"))
# A tibble: 52 × 5
   Name    Gender Friends Modern_Family Big_Bang_Theory
   <fct>   <fct>    <dbl>         <dbl>           <dbl>
 1 Diya    Female       8           9               9  
 2 Ihina   Female       7           9               6  
 3 Abhinav Male         8          10               7  
 4 Nikhita Female       7           9               6  
 5 Rishi   Male         8           6               5  
 6 Charvi  Female       6           9               5.5
 7 Maya    Female       8           7.5             9  
 8 Anuva   Female       4           8               6  
 9 Shourya Male         9           8               5  
10 Sarthak Male         7           9               3  
# ℹ 42 more rows
tv_modified %>%
  DT::datatable(
    style = "default",
    caption = htmltools::tags$caption(
      style = "caption-side: top; text-align: left; color: black; font-size: 100%;", "TV Series Dataset (Clean)"
    ),
    options = list(pageLength = 10, autoWidth = TRUE)
  ) %>%
  DT::formatStyle(
    columns = names(tv_modified),
    fontFamily = "Roboto Condensed",
    fontSize = "12px",
  )

4. Data Dictionary

Quantitative Data

  1. friends(dbl): Rating the show ‘Friends’ on a scale from 1-10
  2. modern_family(dbl): Rating the show ‘Modern Family’ on a scale from 1-10
  3. big_bang_theory(dbl): Rating the show ‘Big Bang Theory’ on a scale from 1-10

Qualitative Data

  1. name(fct): Name of the student
  2. gender(fct): Gender of the student (Male/Female)

5. Graphs

1. How do ratings of ‘Friends’ differ by gender?

tv_modified %>%
  gf_boxplot(friends ~ gender,
             fill = ~gender,
             orientation = 'x') %>%
  gf_labs(title = "How do ratings of 'Friends' differ by gender?",
          x = "Gender",
          y = "Ratings",
          fill = "Legend: Gender") %>% 
  gf_refine(scale_fill_brewer(palette = "PRGn"))
Warning: Removed 1 row containing non-finite outside the scale range
(`stat_boxplot()`).

Inferences

Both females and males tend to give Friends relatively high ratings. The median rating for females appears to be around 7.0, while the rating for males is slightly higher, approximately 7.5. This suggests that males rated Friends slightly higher than females on an average.

There is a wider spread of ratings by males as compared to females. Both genders show a few outliers at the lower end of the scale, below 2.5.

2. How do ratings of ‘Modern Family’ differ by gender?

tv_modified %>%
  gf_boxplot(modern_family ~ gender,
             fill = ~gender,
             orientation = 'x') %>%
  gf_labs(title = "How do ratings of 'Modern Family' differ by gender?",
          x = "Gender",
          y = "Ratings",
          fill = "Legend: Gender") %>% 
  gf_refine(scale_fill_brewer(palette = "BuGn"))
Warning: Removed 2 rows containing non-finite outside the scale range
(`stat_boxplot()`).

Inferences

Both females and males give Modern Family high ratings. The median rating for females is approximately 9.0, while the median rating for males is slightly lower, around 8.5. This suggests that, on average, females rated Modern Family slightly higher than males.

The interquartile range for females spans from 8-10, suggesting a significant portion of females gave a perfect score. For males, it spans from 8-9, which is slightly lower, but still high. For females, there is one outlier at 3, and for males there are two- one at 6 and the other at 3.

3. How do ratings of ‘Big Bang Theory’ differ by gender?

tv_modified %>%
  gf_boxplot(big_bang_theory ~ gender,
             fill = ~gender,
             orientation = 'x') %>%
  gf_labs(title = "How do ratings of 'Big Bang Theory' differ by gender?",
          x = "Gender",
          y = "Ratings",
          fill = "Legend: Gender") %>% 
  gf_refine(scale_fill_brewer(palette = "Oranges"))
Warning: Removed 3 rows containing non-finite outside the scale range
(`stat_boxplot()`).

Inferences

Both females and males have the same median value for rating, which is 7. From this, we can infer than both genders rate the show similarly on an average.

For females, the interquartile region ranges from 6-8, and for males, approximately 5-8, indicating a wider spread of ratings for males. There is only one outlier for females, at 2.

4. Which TV Series has the highest average rating?

tv_modified2 <- tv_modified %>%
  summarize(
    Friends = mean(friends),
    Modern_Family = mean(modern_family),
    Big_Bang_Theory = mean(big_bang_theory)) %>%
  pivot_longer(cols = c(Friends, Modern_Family, Big_Bang_Theory),
               names_to = "tv_series",
               values_to = "average_rating")

tv_modified2 %>% 
  gf_col(average_rating ~ tv_series,
         fill = ~tv_series) %>%
  gf_labs(title = "Which TV Series has the highest average rating?",
          x = "TV Series",
          y = "Average Rating",
          fill = "Legend: TV Series") %>% 
  gf_refine(scale_fill_brewer(palette = "YlGnBu"))
Warning: Removed 3 rows containing missing values or values outside the scale range
(`geom_col()`).

Inferences

From the graph, it is evident that Modern Family has the highest average rating, followed by Friends, and finally Big Bang Theory. Modern Family has an average of 8, Friends around 7, and Big Bang Theory around 6.5.

5. How differently do women and men rate shows?

tv_modified3 <- tv_modified %>%
  group_by(gender) %>%
  summarize(
    Friends = mean(friends, na.rm = TRUE),
    Modern_Family = mean(modern_family, na.rm = TRUE),
    Big_Bang_Theory = mean(big_bang_theory, na.rm = TRUE)
  ) %>%
  pivot_longer(cols = c(Friends, Modern_Family, Big_Bang_Theory),
               names_to = "tv_series",
               values_to = "average_rating")

tv_modified3 %>% 
  gf_col(average_rating ~ tv_series | gender,
         fill = ~ tv_series) %>%
  gf_labs(title = "How differently do women and men rate shows?",
          x = "TV Series",
          y = "Average Rating",
          fill = "Legend: TV Series") %>% 
  gf_refine(scale_fill_brewer(palette = "BuGn"))

Inferences

From the graph, it is evident that Modern Family has the highest average rating, followed by Friends, and finally Big Bang Theory. This trend is consistent across genders as well. Women tend to rate Modern Family slightly higher than men, whereas men tend to rate Friends slightly higher than women. Their average ratings for Big Bang Theory are nearly identical.

6. Summary of Inferences

Overall, students rated Modern Family the highest, followed by Friends, and then The Big Bang Theory. This trend holds true across both genders.

For Friends, males gave slightly higher ratings on average than females, with a wider spread in male responses. Both genders showed a few low-rating outliers. For Modern Family, females rated the show marginally higher than males. Female ratings were more concentrated around high values, with many giving near-perfect scores, whereas males showed slightly more variation and a couple of lower outliers. For The Big Bang Theory, both genders gave similar median ratings, suggesting no significant difference in preference. Males displayed slightly more rating variability, though outliers were minimal.

Across all three shows, females tended to give more consistent ratings, while males displayed greater variation. Overall, Modern Family emerged as the most favored show, Friends stood at second place, and The Big Bang Theory received comparatively lower ratings.

7. Surprising Aspects

Gender preferences were not too different. There was no case where a particular show was viewed more by females than males or the other way round. Males showed a wider range in ratings in all shows.

8. ANOVA test- Inference for comparing multiple means

tv_modified_long <- tv_modified %>%
  pivot_longer(
    .,
    cols = c(friends, modern_family, big_bang_theory),
    names_to = "serial_name",
    values_to = "rating_score"
  )
glimpse(tv_modified_long) %>% 
tt()
Rows: 156
Columns: 4
$ name         <fct> Diya, Diya, Diya, Ihina, Ihina, Ihina, Abhinav, Abhinav, …
$ gender       <fct> Female, Female, Female, Female, Female, Female, Male, Mal…
$ serial_name  <chr> "friends", "modern_family", "big_bang_theory", "friends",…
$ rating_score <dbl> 8.0, 9.0, 9.0, 7.0, 9.0, 6.0, 8.0, 10.0, 7.0, 7.0, 9.0, 6…
name gender serial_name rating_score
Diya Female friends 8.0
Diya Female modern_family 9.0
Diya Female big_bang_theory 9.0
Ihina Female friends 7.0
Ihina Female modern_family 9.0
Ihina Female big_bang_theory 6.0
Abhinav Male friends 8.0
Abhinav Male modern_family 10.0
Abhinav Male big_bang_theory 7.0
Nikhita Female friends 7.0
Nikhita Female modern_family 9.0
Nikhita Female big_bang_theory 6.0
Rishi Male friends 8.0
Rishi Male modern_family 6.0
Rishi Male big_bang_theory 5.0
Charvi Female friends 6.0
Charvi Female modern_family 9.0
Charvi Female big_bang_theory 5.5
Maya Female friends 8.0
Maya Female modern_family 7.5
Maya Female big_bang_theory 9.0
Anuva Female friends 4.0
Anuva Female modern_family 8.0
Anuva Female big_bang_theory 6.0
Shourya Male friends 9.0
Shourya Male modern_family 8.0
Shourya Male big_bang_theory 5.0
Sarthak Male friends 7.0
Sarthak Male modern_family 9.0
Sarthak Male big_bang_theory 3.0
Aruth Male friends NA
Aruth Male modern_family 9.5
Aruth Male big_bang_theory 6.0
Niyosha Female friends 8.0
Niyosha Female modern_family 8.0
Niyosha Female big_bang_theory 7.0
Alekhya Female friends 5.0
Alekhya Female modern_family 8.0
Alekhya Female big_bang_theory 7.0
Shalmali Female friends 7.0
Shalmali Female modern_family 9.0
Shalmali Female big_bang_theory 9.0
Aditi Female friends 8.0
Aditi Female modern_family NA
Aditi Female big_bang_theory 9.0
Riddhi Female friends 8.5
Riddhi Female modern_family 10.0
Riddhi Female big_bang_theory 8.0
Risha Female friends 7.0
Risha Female modern_family 9.0
Risha Female big_bang_theory NA
Aryaan Male friends 7.0
Aryaan Male modern_family 9.0
Aryaan Male big_bang_theory 8.0
Varshini Female friends 10.0
Varshini Female modern_family 10.0
Varshini Female big_bang_theory NA
Jeffery Male friends 6.0
Jeffery Male modern_family 8.0
Jeffery Male big_bang_theory 10.0
Ishaa Female friends 9.0
Ishaa Female modern_family 10.0
Ishaa Female big_bang_theory 7.0
Paru Female friends 5.0
Paru Female modern_family 9.0
Paru Female big_bang_theory 8.0
Krushna Female friends 2.0
Krushna Female modern_family 3.0
Krushna Female big_bang_theory 4.0
Neil Male friends 6.5
Neil Male modern_family 8.0
Neil Male big_bang_theory 4.0
Avantika Female friends 8.0
Avantika Female modern_family 10.0
Avantika Female big_bang_theory 2.0
Prakruti Female friends 7.0
Prakruti Female modern_family 9.0
Prakruti Female big_bang_theory 7.5
Aditi Female friends 5.0
Aditi Female modern_family 10.0
Aditi Female big_bang_theory 3.0
Kavya Female friends 7.0
Kavya Female modern_family 8.0
Kavya Female big_bang_theory 3.0
Mitali Female friends 5.0
Mitali Female modern_family 8.0
Mitali Female big_bang_theory 7.0
Ananya Female friends 8.0
Ananya Female modern_family 10.0
Ananya Female big_bang_theory 8.0
Dhruv Male friends 6.5
Dhruv Male modern_family 7.5
Dhruv Male big_bang_theory 9.0
Manya Female friends 6.5
Manya Female modern_family 8.0
Manya Female big_bang_theory NA
Prithvi Male friends 6.0
Prithvi Male modern_family 8.0
Prithvi Male big_bang_theory 7.0
Arya Male friends 1.0
Arya Male modern_family 6.0
Arya Male big_bang_theory 3.0
Tathastu Male friends 10.0
Tathastu Male modern_family 9.0
Tathastu Male big_bang_theory 9.0
Vaibhav Male friends 8.0
Vaibhav Male modern_family 10.0
Vaibhav Male big_bang_theory 6.0
Akarsh Male friends 7.0
Akarsh Male modern_family 8.0
Akarsh Male big_bang_theory 8.0
Arnav Male friends 8.0
Arnav Male modern_family 3.0
Arnav Male big_bang_theory 5.0
Aarav Male friends 9.0
Aarav Male modern_family 8.0
Aarav Male big_bang_theory 7.0
Kreesh Male friends 8.0
Kreesh Male modern_family 9.0
Kreesh Male big_bang_theory 7.0
Niranjan Male friends 4.0
Niranjan Male modern_family 9.0
Niranjan Male big_bang_theory 4.0
Vishal Male friends 5.0
Vishal Male modern_family 9.0
Vishal Male big_bang_theory 5.0
Saachi Female friends 7.0
Saachi Female modern_family 10.0
Saachi Female big_bang_theory 7.0
Diya Female friends 8.0
Diya Female modern_family 10.0
Diya Female big_bang_theory 7.0
Rahul Male friends 9.0
Rahul Male modern_family 9.0
Rahul Male big_bang_theory 7.0
Nipun Male friends 9.5
Nipun Male modern_family 8.0
Nipun Male big_bang_theory 7.0
Akshaya Male friends 7.5
Akshaya Male modern_family 9.0
Akshaya Male big_bang_theory 9.0
Anay Male friends 7.0
Anay Male modern_family 8.0
Anay Male big_bang_theory 5.0
Amit Male friends 9.0
Amit Male modern_family NA
Amit Male big_bang_theory 7.0
Amit Male friends 2.0
Amit Male modern_family 7.0
Amit Male big_bang_theory 4.0
Aryan Male friends 10.0
Aryan Male modern_family 6.0
Aryan Male big_bang_theory 8.0
Drishti Female friends 8.5
Drishti Female modern_family 7.0
Drishti Female big_bang_theory 8.5
tv_modified_long %>%
  group_by(serial_name) %>%
  group_modify(~ .x %>%
    pull(rating_score) %>%
    shapiro.test() %>%
    broom::tidy()
  )
# A tibble: 3 × 4
# Groups:   serial_name [3]
  serial_name     statistic    p.value method                     
  <chr>               <dbl>      <dbl> <chr>                      
1 big_bang_theory     0.945 0.0231     Shapiro-Wilk normality test
2 friends             0.910 0.000923   Shapiro-Wilk normality test
3 modern_family       0.804 0.00000110 Shapiro-Wilk normality test

All the p values are less than 0.05, thus we reject the null hypothesis. This indicates that the rating scores for these shows are not normally distributed.

tv_modified_long %>%
  group_by(serial_name) %>%
  summarise(variance = var(rating_score))
# A tibble: 3 × 2
  serial_name     variance
  <chr>              <dbl>
1 big_bang_theory       NA
2 friends               NA
3 modern_family         NA

The student opinions on Modern Family are the most consistent, while their opinions on Friends are the most varied, with Big Bang Theory falling in between.

tv_anova <- aov(rating_score ~serial_name,, data = tv_modified_long)
tv_anova
Call:
   aov(formula = rating_score ~ serial_name, data = tv_modified_long)

Terms:
                serial_name Residuals
Sum of Squares      92.8982  499.1501
Deg. of Freedom           2       147

Residual standard error: 1.84271
Estimated effects may be unbalanced
6 observations deleted due to missingness
# Create a "pairwise" list object
tv_supernova <-
  supernova::pairwise(tv_anova,
    correction = "Bonferroni", # Try "Tukey"
    alpha = 0.05, # 95% CI calculation
    var_equal = TRUE, # We'll see
    plot = T
  )
Refitting to remove 6 cases with missing value(s)
ℹ aov(formula = rating_score ~ serial_name, data = listwise_delete(tv_modified_long, 
    c("rating_score", "serial_name")))

tv_supernova$serial_name
serial_name
Levels: 3
Family-wise error-rate: 0.049

  group_1       group_2          diff pooled_se     t    df  lower upper p_adj
  <chr>         <chr>           <dbl>     <dbl> <dbl> <int>  <dbl> <dbl> <dbl>
1 friends       big_bang_theory 0.510     0.261 1.956   147 -0.050 1.070 .1571
2 modern_family big_bang_theory 1.870     0.262 7.139   147  1.307 2.433 .0000
3 modern_family friends         1.360     0.259 5.245   147  0.803 1.917 .0000
supernova::supernova(tv_anova)
Refitting to remove 6 cases with missing value(s)
ℹ aov(formula = rating_score ~ serial_name, data = listwise_delete(tv_modified_long, 
    c("rating_score", "serial_name")))
 Analysis of Variance Table (Type III SS)
 Model: rating_score ~ serial_name

                              SS  df     MS      F   PRE     p
 ----- --------------- | ------- --- ------ ------ ----- -----
 Model (error reduced) |  92.898   2 46.449 13.679 .1569 .0000
 Error (from model)    | 499.150 147  3.396                   
 ----- --------------- | ------- --- ------ ------ ----- -----
 Total (empty model)   | 592.048 149  3.973                   

Thus, Modern Family is rated significantly higher than both Big Bang Theory and Friends. However, there is no statistically significant difference in average ratings between Friends and Big Bang Theory based on this analysis.