R语言分组画条形图——qplot

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居中标题

下面就不上代码了,直接贴图
在这里插入图片描述

2.5全家福

在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章