00引言
R语言对于统计图的绘制可以说是非常有效了,本文使用ggplot2包里的qplot函数绘制条形图。大家一块学习使用。那个对ggplot2语法不了解的同学也可以前来参观。因为该案例不会涉及太多的语法。
1、数据简介
本文的数据来自狗熊会熊大给熊粉的公开数据,关于网络暴力的调查问卷一份。尽管像spss、sas等统计软件等对调查问卷的分组已经很优秀了,但是作为R的忠实粉还是想用ggplot2来实现,废话不多说上案例。
具体的数据介绍这里就不贴出来了,贴上链接用到自取。
2、案例
2.1变量展示
虽然具体的数据不展示,但是用到的数据集合还是需要介绍以下的。本文主要对性别、生源地、对网络暴力的认知三个问题11变量进行可视化(不要问我为啥11个变量,去做个问卷就知道啦)
项目 | Value |
---|---|
★ 性别 | 分类变量,1代表男,2代表女; |
★ 生源地 | 分类变量,分为乡镇、县区、市区3个类别,其中:1代表乡镇,2代表县区,3代表市区; |
★ 对网络暴力的认知 | 分类变量,了解人们对网络暴力的认识;其中:1代表谩骂他人,2代表未经当事人同意私自在网络上公布他人信息的行为,3代表发布未经证实的视频和图片、煽动舆论,4代表对他人恶意诋毁,5代表人肉搜索,6代表其他; |
2.2数据读入与整理
# 数据读入并改名字
Data <- read.csv("data.csv", header = T)[,-1]
colnames(Data) <- paste0("x", 1:34)
# 取出数据
da = Data[,6:11]
n <- dim(da)[1];p = dim(da)[2]
# 生成选项
option <- as.factor(rep(LETTERS[1:p], each = n))
# 拼接六个数据选项数
nda <- c()
for(i in 1:p){
nda <- c(nda, da[,i])
}
# 构造数据框
da = data.frame(dat = nda,选项 = option, 性别 = as.factor(Data[,1]),生源地 = as.factor(Data[,3]))
下面看一眼整理好的数据框
> head(da,10)
dat 选项 性别 生源地
1 0 A 2 3
2 1 A 2 2
3 1 A 2 1
4 1 A 1 3
5 1 A 2 2
6 0 A 2 3
7 1 A 1 3
8 0 A 2 3
9 0 A 2 1
10 1 A 2 1
> tail(da,6)
dat 选项 性别 生源地
811 0 F 1 3
812 0 F 1 2
813 1 F 1 1
814 1 F 1 2
815 0 F 2 2
816 0 F 1 1
数据属性也搂一眼
> dim(da)
[1] 816 4
> class(da)
[1] "data.frame"
> dim(da)
[1] 816 4
2.3画图
qplot(interaction(dat, 选项), data = da, geom = "bar", fill = n,main = "性别")
qplot(interaction(dat, 选项), data = da, geom = "bar", fill = q,main = "生源地")
qplot(interaction(dat, 选项), data = da, geom = "bar", fill = interaction(n,q),main = "性别和生源地")
2.4居中标题
下面就不上代码了,直接贴图