5-数据基本统计及ggplot2画图全过程

1、读入数据

df <- read.csv("C:/Users/Admin/Documents/R/data_set/taxsamp.csv", header = T, col.names = T)

#显示数据前6行

head(df)

#查看数据结构,str = structure

str(df)

查看数据集

该数据集是某些公司的纳税信息,包括公司编号、申报日期、征收方式、申报渠道和营业额数据。

该数据集共49行5列,公司编号和营业额为数值型数据,其他都为因子型(类别型)数据。

2、通过二维列联表查看类别型数据信息

#查看征收方式与申报渠道之间的信息

library(pacman)

p_load(gmodels)

#gmodels包中的CrossTable函数可以自动生成二维列联表

tb <- CrossTable(df$`征收方式`, df$`申报渠道`, prop.t = F, prop.chisq = F, chisq = T); tb

二维列联表

可以看出:查账征收、定期定额征收、定期定率征收占比分别为63.3%、32.7%和4.1%。大厅申报、网上申报的占比分别为36.7%和63.3%。同时可以看出两种申报方式下三种征收的占比分别为多少。

零假设:征收方式与申报渠道之间独立,即二者没有关系

备择假设:征收方式与申报渠道之间不独立

预设置信区间:0.95

P = 0.1015388 > (1 - 0.95) = 0.05 ,所以不拒绝零假设,即接受二者之间没有关系认定。

3、画申报渠道柱状图

从列联表中可以看出CrossTable的参数prop.row表示按行统计,prop.col表示按列统计,prop.t表示按整个表格统计,所以“申报渠道”的综合信息应该在tb表的prop.t列下面,查看一下:

tb$prop.t

prop.t

#加载dplyr包(数据整理)和ggplot2包(画图)

p_load(dplyr, ggplot2)

df_qudao <- as.data.frame(tb$prop.t) %>% group_by(y) %>% summarise(ratio = sum(Freq));df_qudao

as.data.frame():将表格转换为数据框

%>%:管道操作符,将左边的输出转化为右边的输入

group_by():将数据按y即申报方式分组

summarise():数据概括,分组后将组内的Freq值求和赋给ratio

最后输出df_qudao

申报渠道

ggplot(df_qudao, aes(y, ratio)) + geom_bar(stat="identity")

申报渠道

将图形稍微美化一下:

ggplot(df_qudao, aes(y, ratio)) + geom_bar(stat="identity", fill = "violetred") + labs(title = "申报渠道对比图", x ="", y = "") + theme(plot.title = element_text(hjust = 0.5))

申报方式

4、统计各公司的营业总额

p_load(knitr)

df %>% group_by(`公司编号`) %>% summarise(sum = sum(`营业额`)) %>% arrange(sum) %>% rename(`总营业额` = sum) %>% kable(.)

总营业额

你可能感兴趣的:(5-数据基本统计及ggplot2画图全过程)