當前位置:首頁 > 教育 > 正文

R語言怎麼做相關性分析

R語言怎麼做相關性分析

R語言怎麼做相關性分析

1、相關性分析相關性分析是指對兩個或多個具備相關性的變量元素進行分析,從而衡量兩個變量因素的相關密切程度。相關性分析旨在研究兩個或兩個以上随機變量之間相互依存關系的方向和密切程度。一般來講研究對象(樣品或處理組)之間使用距離分析,而元素(物種或環境因子)之間進行相關性分析。兩個變量之間的相關性可以用簡單相關系數(例如皮爾森相關系數等)進行表示,相關系數越接近1,兩個元素相關性越大,相關系數越接近0,兩個元素越獨立。

R語言怎麼做相關性分析

2、相關性指标(1)Pearson相關系數(皮爾遜積差相關系數)Pearson相關系數是用于表示相關性大小的最常用指标,數值介于-1~1之間,越接近0相關性越低,越接近-1或1相關性越高。正負号表明相關方向,正号為正相關、負号為負相關。适用于兩個正态分布的連續變量。(2)Spearman等級相關系數(斯皮爾曼秩相關系數)利用兩變量的秩次大小來進行分析,屬于非參數統計方法。适用于不滿足Pearson相關系數正态分布要求的連續變量。也可以用于有序分類變量的之間的相關性測量。(3)Kendall's Tau相關系數Kendall's Tau相關系數是一種非參數檢驗,适用于兩個有序分類變量。(4)其它此外衡量兩個變量之間關系的方法還有:卡方檢驗、Fisher精确檢驗等。cor函數Pearson、Spearman、Kendall相關系數都可以通過cor函數實現,cov協方差函數參數同

3、cor函數。(1)用法x:矩陣或數據框。use:指定缺失數據的處理方式。可選項:all.obs(假設不存在缺失數據)、everything(數據存在缺失值時,相關系數計算結果會顯示missing)、complete.obs(行删除)、pairwise.complete.obs(成對删除)。method:指定相關系數的類型。可選類型為pearson、spearman、kendall。(2)R Scriptggcorrplotggcorrplot包内隻有2個函數,一個cor_pmat()用于計算p值,一個ggcorrplot()用于繪圖。ggcorrplot相當于精簡版的corrplot包,隻有主題更加豐富多樣。

4、樣品間相似性(similarity)和距離(distance)(1)表示距離的方法歐式距離(Euclidean Distance)√(a2+b2+c^2)dist(t(x),p=2)曼哈頓距離(Manhattan Distance)|a1-a2|+|b1-b2|+|c1-c2|dist(t(x),"manhattan")切比雪夫距離(Chebyshev Distance)max(|a1-a2|,|b1-b2|,|c1-c2|)dist(t(x),"maximum")闵可夫斯基距離(Minkowski Distance)dist(t(x),"minkowski")标準化歐氏距離(Standardized Euclidean distance)先将數據各維分量标準化到均值方差相等,即(x-μ)/δ,标準化後的值=(标準化前的值-分量的均值)/分量的标準差。x1 = scale(t(x), center=T,scale=T)dist(x1)馬氏距離(Mahalanobis Distance)蘭式距離dist(t(x), method = "canberra")夾角餘弦(Cosine)漢明距離(Hamming distance)兩個等長字符串s1與s2之間的漢明距離定義為将其中一個變為另外一個所需要作的最小替換次數。

R語言怎麼做相關性分析

5、x <- c(1, 0, 0)y <- c(1, 0, 1)hamming.distance(x, y) #1傑卡德相似系數(Jaccard similarity coefficient)dist(t(x), method = "Jaccard")相關系數(Correlation coefficient)與相關距離(Correlation distance)1-cor(x)信息熵(Information Entropy)

6、信息熵是衡量分布的混亂程度或分散程度的一種度量。分布越分散(分布越平均),信息熵就越大。分布越有序(分布越集中),信息熵就越小。kl散度(2)dist用法This function computes and returns the distance matrix computed by using the specified distance measure to compute the distances between the rows of a data matrix.這個函數用特定的方法計算矩陣的行之間的距離,并返回距離矩陣。dist(x, method = "euclidean", diag = FALSE, upper = FALSE, p = 2) method:可以是"euclidean", "maximum", "manhattan", "canberra", "binary", "minkowski"diag:是否顯示對角線的值upper:是否顯示上三角的值p:The power of the Minkowski distance(3)scale用法scale(x, center = TRUE, scale = TRUE)

7、scale是對矩陣的每一列進行标準化,如果要對行标準化需要先轉置。如heatmapdata <- t(scale(t(heatmapdata)))(4)R ScriptsampleDist <- dist(t(testdata1)) sampleDistMatrix <- as.matrix(sampleDist) colnames(sampleDistMatrix) <- NULL colors <- colorRampPalette(rev(brewer.pal(9,"Blues")))(255) pheatmap(sampleDistMatrix, clustering_distance_rows=sampleDist, clustering_distance_cols=sampleDist, color = colors)

R語言怎麼做相關性分析

你可能想看:

有話要說...

取消
掃碼支持 支付碼