R语言课程作业

1 探究感到沮丧的频率与不同年龄段之间的关系

1.1 使用的包

dplyrggplot2ggmosaicpandertidyr

其中,ggmosaic的安装方法:

devtools::install_github("haleyjeppson/ggmosaic")
library(ggmosaic)

1.2 代码

# 设置工作路径并导入数据
setwd("C:\\Users\\lenovo\\Desktop\\rhomework")
load("C:\\Users\\lenovo\\Desktop\\rhomework\\brfss2013.RData")

# 加载需要使用的包
library(knitr)
library(pander)
library(ggplot2)
library(ggmosaic)
library(dplyr)
library(tidyr)

# 清洗数据,去除无意义数据和NAs,仅选取需要的列
cleaned_data<-brfss2013%>%mutate(age=as.character(X_age_g),depressed=as.character(misdeprd))%>%
       filter(!is.na(age)&depressed!="None"&!is.na(depressed))%>%
       select(age,depressed)

# 输出表格
table.data<-cleaned_data%>%group_by(age,depressed)%>%
        summarise(count=n())%>%
        spread(depressed,count)%>%
        mutate(sum=`A little`+All+Most+Some,
               `% Extremely depressed`=round(All/sum*100,digits = 1),
               `% Severe depressed`=round(Most/sum*100,digits = 1),
               `% Moderately depressed`=round(Some/sum*100,digits = 1),
               `% Mild depressed`=round(`A little`/sum*100,digits = 1))%>%
        select(age,`% Extremely depressed`,`% Severe depressed`,`% Moderately depressed`,`% Mild depressed`)

pandoc.table(table.data,caption="The proportion of different depressed degree in different age groups",justify = "center")

age % Extremely depressed % Severe depressed % Moderately depressed % Mild depressed
Age 18 to 24 2.8 6.9 33.3 57
Age 25 to 34 3.1 11.7 31.2 54
Age 35 to 44 5.2 11.2 32.9 50.6
Age 45 to 54 6.2 12.3 32.4 49.1
Age 55 to 64 6.9 11 33.2 48.9
Age 65 or older 4.4 10.4 29.5 55.7

1.3 马赛克图

# 输出mosaic plot
final_data<-cleaned_data%>%mutate(depressed2=ifelse(depressed=="All","Extremely",ifelse(depressed=="Most","Severe",ifelse(depressed=="Some","Moderately",ifelse(depressed=="A little","Mild","")))))
names(final_data)<-c("AGE_GROUP","D","DEPRESSED_LEVEL")

final_data$DEPRESSED_LEVEL<-factor(final_data$DEPRESSED_LEVEL,levels = c("Mild","Moderately","Severe","Extremely"))

ggplot(final_data)+labs(title = "Age and Depressed Level Mosaic Plot",fill="Depressed Level")+
        geom_mosaic(aes(x=product(AGE_GROUP),fill=DEPRESSED_LEVEL))+
        theme(plot.title = element_text(hjust = 0.5),axis.title.y = element_text(vjust=1,size=12),axis.title.x = element_text(vjust=0.5,size = 12))
        

R语言课程作业_第1张图片

2

你可能感兴趣的:(R,r语言)