本文介紹R中常用于相關(guān)性分析的四種函數(shù) ##### cor R內(nèi)置函數(shù),可以直接用于計(jì)算兩兩個(gè)向量之間的相關(guān)系數(shù)(可選方法pearson,、spearman,、kendall),只能得到相關(guān)系數(shù): ##### cor.test R內(nèi)置函數(shù),,可以直接用于計(jì)算兩個(gè)向量之間的相關(guān)系數(shù)(可選方法pearson,、spearman、kendall),,可得到相關(guān)系數(shù)($estimate),、置信區(qū)間、P值($p.value)等信息: 如果想做多個(gè)因子兩兩間的相關(guān)性,則需要更優(yōu)的方法去處理分析,。 以psych包中的sat.act數(shù)據(jù)為例: ##### rcorr Hmisc包,,輸入數(shù)值型矩陣,計(jì)算兩兩列之間的相關(guān)性(可選方法pearson,、spearman),,適用于多比較: install.packages('Hmisc') library(Hmisc) result = corr(sat.act, type='pearson') 通過(guò)$r和$P可以分別得到相關(guān)系數(shù)和P值的鄰接矩陣。 ##### corr.test psych包,,輸入矩陣或數(shù)據(jù)框,計(jì)算兩兩列之間的相關(guān)性(可選方法pearson,、spearman,、kendall), 適用于多比較,可對(duì)P值進(jìn)行校正: install.packages('psych') library(psych) result = corr.test(sat.act, method='pearson', adjust='BH') 如果參數(shù)里設(shè)置了P值矯正方法,,則矯正的P值可通過(guò)$p得到: 注意,,此時(shí)對(duì)稱的兩個(gè)值是不同的!而且設(shè)置不同的矯正方法所矯正的均是上三角的P值,。也即下三角的P值為未矯正的P值,。 # 如何取上三角 使用reshape2包中的melt函數(shù): result$p[lower.tri(result$p)] = NA res = melt(result$p, na.rm=T) 綜上,對(duì)于兩個(gè)元素之間的相關(guān)性計(jì)算可使用cor.test,,而對(duì)于多元素兩兩間相關(guān)性的計(jì)算corr.test更優(yōu),。 ### 關(guān)于鄰接矩陣的整理 可整理成如下格式: 每行是元素i與元素j之間的相關(guān)系數(shù)Cor及P值,可考慮刪除上示兩種數(shù)據(jù),。 腳本可參考: result$p[lower.tri(result$p)] = NA result$r[lower.tri(result$r)] = NA res = cbind(melt(result$r, na.rm=T), melt(result$p, na.rm=T)[,3]) colnames(res) = c('i', 'j', 'Cor', 'Padj') res = res[res$i != res$j,]
|
|
來(lái)自: 萌小芊 > 《統(tǒng)計(jì)》