《R数据科学》第十一章练习题

美国民主党、共和党和中间派的人数比例是如何随时间而变化的?  

> gss_cat %>% mutate(partyid=fct_collapse(partyid,        #利用fct_collapse函数对因子水平进行同党派类别合并。
    other=c('NO answer',"Don't know", "Other party"),
    rep = c("Strong republican", "Not str republican"),
    ind = c("Ind,near rep", "Independent", "Ind,near dem"),
    dem = c("Not str democrat", "Strong democrat"))) %>%
  filter(partyid %in% c("dem", "rep", "ind")) %>% group_by(year) %>% 
  summarise(democrat=sum(partyid== "dem"),republican=sum(partyid== 'rep'),independent=sum(partyid== 'ind'))   
%>% mutate(total = democrat + republican + independent,
    democrat_ratio = democrat / total,
    republican_ratio = republican / total,
    independent_ratio = independent / total) -> party_ratio
#使用filter()函数筛选出民主党、共和党和中间派的数据,并使用group_by()函数按照年份进行分组。
#然后,使用summarize()函数计算每个年份中各个政党的人数,并计算比例。
> party_ratio
# A tibble: 8 × 8
   year democrat republican independent total democrat_ratio republican_ratio independent_ratio
                                                       
1  2000      921        684        1152  2757          0.334            0.248             0.418
2  2002      923        764         994  2681          0.344            0.285             0.371
3  2004      959        821         991  2771          0.346            0.296             0.358
4  2006     1436       1132        1851  4419          0.325            0.256             0.419
5  2008      721        505         746  1972          0.366            0.256             0.378
6  2010      696        461         822  1979          0.352            0.233             0.415
7  2012      699        442         765  1906          0.367            0.232             0.401
8  2014      825        537        1088  2450          0.337            0.219             0.444
>ggplot(party_ratio,aes(x=year))+
  geom_line(aes(y=democrat_ratio,color='dem'))+
  geom_line(aes(y=republican_ratio,color='rep'))+
  geom_line(aes(y=independent_ratio,color='ind')) +
  scale_y_continuous(limits = c(0, 1))+
  labs(x = "Year", y = "Ratio", color = "Party") +
  theme_minimal()
#可以使用ggplot2包来绘制折线图,横轴为年份,纵轴为比例。使用geom_line()函数绘制折线图,
#并使用scale_y_continuous()函数设置纵轴的刻度范围。

《R数据科学》第十一章练习题_第1张图片

你可能感兴趣的:(R,r语言,开发语言,数据分析)