次數分配表是描述統計的基礎,同時也經常被用於檢查資料、瞭解資料分布等。
次數分配表-計數
table()是最常用於呼叫次數分配表的指令。
> table(class_new$gender, useNA="no") #排除遺漏值
F M
6 5
> table(class_new$gender, useNA="ifany") #不排除遺漏值
F M ‹NA›
6 5 1
table()雖然可以產出次數分配表,但閱讀起來並非熟悉的樣式;plyr擴充套件裡的count()則改善了此問題:
> library(plyr)
> count(class_new, "gender")
gender freq
1 F 5
2 M 5
3 ‹NA› 1
次數分配表-百分比
要計算百分比,可以使用prop.table():
> prop.table(table(class_new$gender, useNA="ifany"))*100
F M ‹NA›
50.000000 41.666667 8.333333
也可以用count()土法煉鋼直接計算:
> gender_fre<-count(class_new, "gender")
> gender_fre$freq/sum(gender_freq$freq)*100
[1] 50.000000 41.666667 8.333333
一個更簡單的方法是載入epiDisplay套件,利用tab1()產生次數分配表、百分比與長條圖:
> library(foreign) #載入前置作業套件
> library(survival) #載入前置作業套件
> library(MASS) #載入前置作業套件
> library(nnet) #載入前置作業套件
> library(epiDisplay) #載入epiDisplay
> tab1(class_new$gender, cum.percent=TRUE)
class_new$gender :
Frequency %(NA+) cum.%(NA+) %(NA-) cum.%(NA-)
F 6 50.0 50.0 54.5 54.5
M 5 41.7 91.7 45.5 100.0
NA's 1 8.3 100.0 0.0 100.0
Total 12 100.0 100.0 100.0 100.0
也可以透過frequency套件中的freq(),產出SPSS、SAS類型的次數分配表: