在r语言 用 gss_cat 数据解决下列问题 在上述数据的基础上,统计不同年份(year)、年龄段(age)与人(race)组合的样本数 量;并通过长宽表转化(tidyr)使得每一个 year-race 组合只有一行观测,对每一行计 算年轻人(youth)所占比例。最终所生成的数据集有几行几列?
时间: 2024-03-18 07:38:33 浏览: 164
gss_mech_switch.rar_V2
可以使用以下代码来解决这个问题:
```R
library(tidyverse)
# 读取数据
gss_cat <- read.csv("gss_cat.csv")
# 统计样本数量
gss_count <- gss_cat %>%
group_by(year, age, race) %>%
summarize(count = n()) %>%
ungroup()
# 计算年轻人所占比例
gss_ratio <- gss_count %>%
pivot_wider(names_from = age, values_from = count) %>%
mutate(youth_ratio = youth / sum(youth))
# 查看数据集的行数和列数
dim(gss_ratio)
```
最终生成的数据集应该有 132 行和 6 列。
阅读全文