prizes_df <- laureates_df %>%select(id, gender, `birth.year`, nobelPrizes) %>%unnest(nobelPrizes, names_sep ="p_") # affiliations is now p_affiliationscat("Columns after first unnest:\n")
# A tibble: 10 × 2
nobelPrizes_affiliations_name.en laureate_count
<chr> <int>
1 University of California 43
2 Harvard University 29
3 Massachusetts Institute of Technology (MIT) 25
4 Stanford University 22
5 University of Chicago 20
6 California Institute of Technology (Caltech) 19
7 Columbia University 18
8 Princeton University 18
9 University of Cambridge 18
10 Howard Hughes Medical Institute 16
Average age at prize per category
q2 <- prizes_df %>%filter(!is.na(birth.year), !is.na(nobelPrizes_awardYear)) %>%mutate(age_at_prize =as.integer(nobelPrizes_awardYear) -as.integer(birth.year) ) %>%group_by(nobelPrizes_category.en) %>%summarise(avg_age =round(mean(age_at_prize, na.rm =TRUE), 1), .groups ="drop") %>%arrange(avg_age)cat("\n=== Q2: Average Age at Prize by Category ===\n")
=== Q2: Average Age at Prize by Category ===
print(q2)
# A tibble: 6 × 2
nobelPrizes_category.en avg_age
<chr> <dbl>
1 Physics 57.7
2 Physiology or Medicine 58.9
3 Chemistry 59.2
4 Peace 60.8
5 Literature 65
6 Economic Sciences 67