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全家福

在這裏插入圖片描述

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