【R】ggcor相關性可視化

2021-01-14 PLANTOMIX

上周,我們寫了一個 ggcor 對相關性可視化的帖子 (【ggcor】相關性圖的另外一種展示)。裡面用到的例子是厚老師的示例數據。這次,我自己構建數據集,探索如何使用 ggcor 進行展示。

# 清空當前環境
rm(list = ls())

# 加載需要的包
library(WGCNA)
library(ggcor)
library(ggplot2)
library(tidyverse)
library(reshape2)

# 設置隨機數種子,保證結果的可重複性
set.seed(117423)

# 構造環境因子
env = data.frame(N = runif(10,1,10),
                 P = runif(10,1,10),
                 K = runif(10,1,10),
                 C = runif(10,1,10),
                 H2O = runif(10,1,10),
                 pH = runif(10,1,10))

# 構造物種信息
spec = data.frame(S1 = runif(10,1,10),
                  S2 = runif(10,1,10),
                  S3 = runif(10,1,10),
                  S4 = runif(10,1,10),
                  S5 = runif(10,1,10))

# 計算相關性和P值,相關性方法為「pearson」
cor = corAndPvalue(env, spec, method = 'pearson')

# 提取相關係數並改成長數據格式
c = cor[["cor"]] %>%
        as.data.frame()
c$cat = rownames(c)
c = melt(c, id.vars = ncol(c))
colnames(c)[3] = 'cor'
c$temp = paste(c$cat, c$variable, sep = '_')

# 提取性關係顯著性並改成長數據格式
p = cor[["p"]] %>%
        as.data.frame()
p$cat = rownames(p)
p = melt(p, id.vars = ncol(p))
colnames(p)[3] = 'pvalue'
p$temp = paste(p$cat, p$variable, sep = '_')

# 拼接相關性及p值並構造兩個值的分組範圍
cor.data = merge(c, p, by = 'temp') %>%
        select(c(3,2,4,7))%>% 
        mutate(rd = cut(cor, breaks = c(-Inf, 0.2, 0.4, Inf),
                        labels = c("< 0.2", "0.2 - 0.4", ">= 0.4")),
               pd = cut(pvalue, breaks = c(-Inf, 0.01, 0.05, Inf),
                        labels = c("< 0.01", "0.01 - 0.05", ">= 0.05")))

# 繪圖
quickcor(env, cor.test = T,type = 'upper', grid.colour = 'black') + # 計算環境因子相相關性
        geom_circle2() + # 展示方式為圓圈
        geom_mark(data = get_data(type = "upper", 
                                  show.diag = T), 
                  size = 2.5, color = 'black') + # 添加相關性和顯著性
        anno_link(aes(colour = pd, size = rd), data = cor.data) + # 添加左側的相關性信息
        anno_link_label() + # 顯示左側標籤
        scale_size_manual(values = c(0.5, 1, 2)) +
        scale_colour_manual(values = c("#D95F02", "#1B9E77", "#A2A2A288")) +
        guides(size = guide_legend(title = "Pearson's r",
                                   override.aes = list(colour = "grey35"), 
                                   order = 2),
               colour = guide_legend(title = "Pearson's p", 
                                     override.aes = list(size = 3), 
                                     order = 1),
               fill = guide_colorbar(title = "Pearson's r", order = 3))

相關焦點

  • 【R語言】相關性分析、相關係數的顯著性檢驗及可視化
    本篇文章介紹基於R語言的相關性分析、相關係數的顯著性檢驗及可視化,該教程為個人筆記,大家也可參考學習,不足之處也歡迎大家批評指正!相關性分析用於評估兩個或多個變量之間的關聯,能通過定量指標描述變量之間的強弱、直接或間接聯繫。
  • 使用Seaborn和Pandas進行相關性分析和可視化
    這不僅可以幫助我們查看哪些要素是線性相關的,而且如果要素之間的相關性很強,我們可以將其刪除以防止信息重複。您如何衡量相關性?在數據科學中,我們可以使用r值,也稱為Pearson的相關係數。 這可測量兩個數字序列(即列,列表,序列等)之間的相關程度。r值是介於-1和1之間的數字。
  • 整理了一些自己可能會用到的R包~20210125更新
    主要功能是畫月牙狀的點圖ggClusterNet微生信生物 公眾號 號主開發的包 可視化網絡cola做一致性聚類(consensus clustering)的R包。公眾號 方圓之處。號主是circlize 和ComplexHeatmapR包的作者,絕對的大佬級別了。
  • 如何讓相關性分析看起來更高大上
    BioNews,專注於報導生命科學領域相關新聞,長按下方二維碼即可關注"BioNews"(id : iBioNews)最近看到有人私信小編「相關性分析相信大家在做各種數據分析或者看文獻的過程中都接觸過相關性分析。大到幾個轉錄組樣本的整體相關性分析,小到挑選了一些候選基因看它們在不同樣本中的表達模式相關性。那如何做相關性分析以及對相關性結果做可視化,一個r包corrplot是一個非常不錯的選擇。
  • 普氏分析結果可視化--物種與環境、物種與物種、物種與功能關聯分析
    當然除了分析群落結構與環境因子的相關性之外,這兩個分析還可以用於分析同一樣品不同類型微生物群落之間的相關性,比如同一樣品的稀有和豐富物種或者同一樣品細菌和真菌群落結構的相關性。最後還有一種不太常用的用法,就是分析配對的兩種不同類型樣品微生物群落的相關性,比如河流或海洋同一位置水體和沉積物細菌群落組成結構的相關性,從而分析這兩種關聯樣品類型中微生物群落的轉移。這兩種方法的具體原理我這裡就不講了,網上有很多,感興趣的朋友可以自行搜索一下,本推文主要介紹分析的實現方法以及對結果可視化的美化。
  • 數據可視化之R語言
    分類數據的可視化使用條形圖、點圖、柱形圖、脊柱圖、馬賽克圖、餅圖及四折圖連續數據的可視化使用箱線圖、直方圖、散點圖及其變種、帕累託圖==============================================一、分類數據的可視化
  • R語言可視化之UpSetR包
    作者:嚴濤簡介集合可視化我們用得最多的是韋恩圖今天介紹一個R包UpSetR,專門用來集合可視化,來源於UpSet,Python裡面也有一個相似的包py-upset。此外還有個UpSetR shiny app以及原始碼.
  • 什麼是期貨品種相關性
    什麼是期貨品種相關性 期貨品種相關性:相關係數是用以反映變量之間相關關係密切程度的統計指標。相關係數是按積差方法計算,同樣以兩變量與各自平均值的離差為基礎,通過兩個離差相乘來反映兩變量之間相關程度;著重研究線性的單相關係數。
  • 中國期貨市場相關性一覽表
    相關係數 r的值介於–1 與+1之間,在二維線形條件下,當 r為1 時,表示兩組變量為完全的正相關;r為-1時則表示完全負相關;r越靠近0軸,兩組變量間相關性越弱。一般來說,|r|在0.7以上已屬高度相關。
  • Pearson和Spearman相關性檢驗
    看過許多統計教程,這篇是我最推薦的介 紹Pearson相關用於檢驗兩個數值變量的相關性,應用條件為兩變量均符合正態分布,否則需要採用Spearman相關。除此之外,Spearman相關還可以用於檢驗兩個等級變量的相關性。
  • kaggle:R可視化分析金拱門餐廳食物營養性(一)
    我們偶爾吃的這家快餐,它滴食物營養性咋樣,今天我們就來對kaggle競爭上的這份數據做一個可視化分析!公眾號後臺回復「金拱門」下載數據集。#可視化分析食物類別繪圖(圖1)m <- list(l = 50,r = 50,b = 100,t = 100,pad = 4)marker = list(color = brewer.pal(9, "Set1"))p <- plot_ly(x = menu$Category,marker = list(color = '#45171D'),type = "histogram
  • R與生物專題 | 第七講 R-相關性分析及作圖
    今天的更新,我們會帶您學習用R語言做相關性分析和作圖。相關性分析用於評估兩個或多個變量之間的關聯。例如,如果我們想知道父親和兒子的身高之間是否存在關係,可以計算相關係數來回答這個問題。注意,僅當數據呈正態分布時,才可以使用相關性分析。
  • R可視化 | 馬賽克圖
    數據介紹數據構建代碼來源《R數據可視化之美》,任意擬定一個數據框。library(graphics)library(wesanderson) #顏色提取mosaicplot( ~segment+variable,table, color = wes_palette("GrandBudapest1"),main = '')參考資料[1]《R數據可視化之美
  • R計算多個向量兩兩之間相關性
    我們知道R裡面計算兩個數值向量之間的相關性用cor函數,而檢驗是否顯著相關用
  • 兩步搞定數據可視化
    數據可視化強調以圖形形式呈現抽象信息。數據可視化使我們能夠發現傳統報告,表格或電子表格中未被注意的模式,趨勢和相關性。研究表明,人類對視覺的反應優於任何其他類型的刺激。人類大腦處理視覺信息的速度比文本快60,000倍。
  • 數據分析基礎相關性分析,SPSS實操
    一、相關性分析定義相關性分析用於描述變量之間線性相關程度的強弱,並用適當的統計指標表示出來的過程。樣本相關係數r:在說明變量之間線性相關程度時,根據經驗可將相關程度分為以下幾種情況: 若r≥0.8 時,視為高度相關; 若0.5≤r<0.8 時,視為中度相關; 當0.3≤r<0.5 時,視為低度相關;
  • Nature子刊經典網絡圖在R中的繪製,網絡模塊性可視化
    test_design.csv")#### 加載包library(psych)library(igraph)##加載函數 (可後臺獲取)setwd("D:/R_input")source("CorrDF.R")source("cor.mtest.R")## 進行相關分析aa <- rcorr
  • 在數據可視化中,最容易犯的十大錯誤
    使用數據可視化來進行數據分析的過程是「獲取無聊的平面數據,並通過可視化將其變為現實。」 但是,在數據分析的過程中很多人開始敏銳地意識到可視化有可能會變成讓數據以錯誤的方式呈現,甚至有的人開始提出:「可視化經常被用來擾亂數據分析過程。」
  • R繪圖:一文了解ggplot2顏色的設置
    R繪圖往期回顧:ggplot2繪圖學習 兩個連續性變量ggplot2繪圖學習:單變量+繪圖背景R繪圖:ggeconodist,基於ggplot2的另類箱圖R語言學習系列之「多變的熱圖」螞蟻金服在線可視化引擎
  • 手摸手教你數據可視化!(附實例講解)
    前言本文對課程數據集及鐵達尼號數據集進行了實例講解,一步一步帶你繪製數據可視化中常用的五種圖形,並對數據間可能存在的相關性做出了闡述。(4,4),dpi=80)plt.pie(data2.iloc[0,1:] #選取數據源 ,labels=['語文','數學','英語'] ,autopct='%1.2f') #設置百分比經度# ,explode=[0.1,0.02,0.02] #設置餅圖各個扇區之間的間隙# ,colors=['r'