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居中標題
下面就不上代碼了,直接貼圖