rc列联表_R语言入门之频率表和列联表
在這一期我們將要學(xué)習(xí)如何針對(duì)分類變量數(shù)據(jù)創(chuàng)建頻率表和列聯(lián)表,并且在此基礎(chǔ)之上進(jìn)行獨(dú)立性檢驗(yàn)、關(guān)聯(lián)度測(cè)量以及相關(guān)數(shù)據(jù)的可視化。
創(chuàng)建頻率表和列聯(lián)表
R語(yǔ)言提供了許多方法來(lái)創(chuàng)建頻率表和列聯(lián)表,在這里我們主要介紹三種常用的函數(shù),它們雖有各自的特點(diǎn),但大同小異,大家在學(xué)習(xí)中能細(xì)細(xì)體會(huì)出來(lái)。
1. 函數(shù)table()
#首先自己創(chuàng)建訓(xùn)練數(shù)據(jù)(這里的數(shù)據(jù)是隨手編寫(xiě)的,不具有科學(xué)性)
#所有的數(shù)據(jù)都是分類變量(這里選擇的是二分類變量)
#建立2維頻率表
A
B
C
mydata
attach(mydata) #固定目標(biāo)數(shù)據(jù)集
mytable
mytable # 輸出表格
margin.table(mytable, 1) # 對(duì)每一行的數(shù)據(jù)求和
margin.table(mytable, 2) # 對(duì)每一列的數(shù)據(jù)求和
prop.table(mytable) # 計(jì)算每一格數(shù)據(jù)占總數(shù)的比例
prop.table(mytable, 1) # 以行為單位,計(jì)算其中每個(gè)變量的占比,每行求和為1
prop.table(mytable, 2) # 以列為單位,計(jì)算其中每個(gè)變量的占比,每列求和為1
當(dāng)然table()函數(shù)也可以生成高維的數(shù)據(jù)表(3個(gè)及以上的變量),不過(guò)這時(shí)候使用ftable()函數(shù)可能會(huì)得到更好的展示效果。
# 創(chuàng)建3維頻數(shù)表
mytable
table(A,B,C)
ftable(A,B,C)
從上述結(jié)果來(lái)看,確實(shí)是ftable()函數(shù)最后輸出的效果更好。
這里需要注意一點(diǎn),table()函數(shù)在生成表格的時(shí)候會(huì)默認(rèn)去除NA值,如果想要保留NA,則需要添加參數(shù)exclude=NULL。如果在轉(zhuǎn)換成因子時(shí)想保留NA值,則需要使用如下方法:
newfactor
2. 函數(shù)xtabs()
在xtabs()函數(shù)里你可以使用公式來(lái)進(jìn)行交叉制表:
# 構(gòu)建3維頻數(shù)表
mytable
ftable(mytable) # 使用ftable()函數(shù)簡(jiǎn)潔輸出3維表格
summary(mytable) # 獨(dú)立性檢驗(yàn)(列聯(lián)表的卡方檢驗(yàn))
加入一個(gè)變量出現(xiàn)在了公式的左側(cè),那么它就是一個(gè)計(jì)算好的頻數(shù)向量
# 例如
DF
xtabs(Freq ~ Gender + Admit, DF) #將不同類的頻數(shù)相加
3. 函數(shù)CrossTable()
CrossTable()是一個(gè)來(lái)自“gmodel”包的強(qiáng)大制表函數(shù),它有很多功能選項(xiàng),可以進(jìn)行卡方檢驗(yàn),Fisher檢驗(yàn),McNemar檢驗(yàn),相關(guān)殘差項(xiàng)的計(jì)算以及數(shù)據(jù)標(biāo)準(zhǔn)化等等。但是由于這些功能我們也可以通過(guò)R的基本函數(shù)來(lái)實(shí)現(xiàn),所以這里就不對(duì)CrossTable()這個(gè)函數(shù)進(jìn)行過(guò)多講解,感興趣的朋友可以使用?CrossTable()自行了解和學(xué)習(xí)。
總結(jié)
以上是生活随笔為你收集整理的rc列联表_R语言入门之频率表和列联表的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: hive常用函数之七字符串函数
- 下一篇: 基于FPGA的频率计设计