天天看點

2020.08.01-08.15學習小結一、ggpubr包統計資料導出二、使用pheatmap包繪制熱圖三、相關性分析四、相關性矩陣可視化

一、ggpubr包統計資料導出

compare_means()——packag:ggpubr

使用

compare_means(
  formula, 
  data,
  method = "wilcox.test",
  paired = FALSE,
  group.by = NULL,
  ref.group = NULL,
  symnum.args = list(),
  p.adjust.method = "holm",
  ...
)
           

參數

  1. formula:公式,x~group,x為數值變量,表示資料的值。group是具有一或多個級别的因子變量,表示相應的組。

    (eg. formula = TP53 ~ cancer-group,formula=c(TP53,PTEN) ~ cancer_group)

  2. data:資料框, 包含公式中的變量
  3. method:檢驗方法,預設為wilcox.test(t.test、wilcox.test、anova、kruskal.test)
  4. paired:邏輯值,是否使用配對檢驗,t.test和wilcox.test中使用
  5. group.by:字元向量,表示分組變量名稱
  6. ref.group:字元串,指定參考分組,如果指定,則所有組都将與參考組比較
  7. symnum.args:傳遞給函數symnum的參數清單,用于對p值進行符号數編碼。
    symnum.args <- list(cutpoints = c(0, 0.0001, 0.001, 0.01, 0.05, 1), 
    					symbols = c("****", "***", "**", "*", "ns"))
               

    ns: p > 0.05

    *:p <= 0.05

    **: p <= 0.01

    ***:p <= 0.001

    ****:p <= 0.0001

  8. p.adjust.method:調整p值的方法,詳見p.adjust。僅在執行多個配對檢驗時或有多個分組變量時執行。包含 “holm”, “hochberg”, “hommel”, “bonferroni”, “BH”, “BY”, “fdr”, “none”,有多個分組變量時,将為每個變量獨立進行p值調整

導出資料

導出資料為資料框格式,包含以下列

列名

  1. .y.:檢驗中使用的y變量
  2. group1,group2(隻有t檢驗和wilcox檢驗有):配對檢驗中的分組
  3. p:p值
  4. p.adj:調整p值,預設方法為"holm"
  5. p.format:格式化p值
  6. p.signif:顯著性水準
  7. method:分組間檢驗方法

二、使用pheatmap包繪制熱圖

pheatmap()——package:pheatmap

https://www.jianshu.com/p/7e1fcb0de0ce

使用

//參數均為預設值
pheatmap(mat, color = colorRampPalette(rev(brewer.pal(n = 7, name =
  "RdYlBu")))(100), kmeans_k = NA, breaks = NA, border_color = "grey60",
  cellwidth = NA, cellheight = NA, scale = "none", cluster_rows = TRUE,
  cluster_cols = TRUE, clustering_distance_rows = "euclidean",
  clustering_distance_cols = "euclidean", clustering_method = "complete",
  clustering_callback = identity2, cutree_rows = NA, cutree_cols = NA,
  treeheight_row = ifelse((class(cluster_rows) == "hclust") || cluster_rows,
  50, 0), treeheight_col = ifelse((class(cluster_cols) == "hclust") ||
  cluster_cols, 50, 0), legend = TRUE, legend_breaks = NA,
  legend_labels = NA, annotation_row = NA, annotation_col = NA,
  annotation = NA, annotation_colors = NA, annotation_legend = TRUE,
  annotation_names_row = TRUE, annotation_names_col = TRUE,
  drop_levels = TRUE, show_rownames = T, show_colnames = T, main = NA,
  fontsize = 10, fontsize_row = fontsize, fontsize_col = fontsize,
  angle_col = c("270", "0", "45", "90", "315"), display_numbers = F,
  number_format = "%.2f", number_color = "grey30", fontsize_number = 0.8
  * fontsize, gaps_row = NULL, gaps_col = NULL, labels_row = NULL,
  labels_col = NULL, filename = NA, width = NA, height = NA,
  silent = FALSE, na_col = "#DDDDDD", ...)
           

參數

  1. mat:要繪制的值的數值矩陣
  2. color:熱圖顔色選擇
  3. break:用來定義數值喝顔色的對應關系。可以将特定顔色和特定數值關聯,如果NA則自動進行計算。如果顔色超過值的範圍,超過門檻值的會使用和門檻值一樣的顔色。
  4. border_color:熱圖的機關元素的描邊顔色,NA表示不描邊
  5. cellwidth:熱圖機關元素(cell)的寬度,NA表示依據視窗自動調整
  6. cellheight:同理
  7. scale:數值标準化,可以是“row“,”column“,”none“
  8. cluster_rows:用布爾值來判定行元素是不是應該被clustered or clust object
  9. cluster_cols:同理
  10. clustering_distance_rows:計算類間距的方式,預設:“euclidean”(歐式距離)
  11. clustering_distance_cols:同理
  12. clustering_method:cluster方法
  13. clustering_callback:修改cluster的回調函數。通過兩個參數調用:原始hclust對象、用于聚類的矩陣。必須傳回一個hclust對象。
  14. cutree_rows:如果使用了對行的叢集,則可以指定叢集個數(基于hclust),如果未使用對行叢集則忽略
  15. cutree_cols同理
  16. treeheight_row:行叢集樹的高度
  17. treeheight_col:同理
  18. legend:圖例是否顯示
  19. legend_breaks:圖例是否斷點标注
  20. legend_labels:圖例的标題
  21. annotation_row:指定對行進行分類注釋,熱圖左側顯示的注釋的資料框,資料中的行名與注釋的行名需要比對。需要考慮連續變量或離散的變量的配色方案
  22. annotation_col:同理
  23. annotation:棄用參數
  24. annotation_colors:指定注釋條的顔色
  25. annotation_legend:布爾值表示是否顯示注釋條的圖例
  26. annotation_names_row:布爾值表示是否在圖例上顯示注釋名稱
  27. drop_levels:是否在圖例顯示unused levels
  28. shown_rownames:是否顯示行名
  29. shown_colnames:是否顯示列名
  30. main:圖表主标題
  31. fondsize:圖表字型大小
  32. fontsize_row:行标題的字号
  33. angle_col:列标簽的角度
  34. display_numbers:是否在機關元素(cell)内顯示數字
  35. number_format:顯示在cell内的數字格式,例如%.2代表兩位小數%.1e表示指數形式…參見C語言printf函數格式
  36. fontsize_number:限制在Cell内的數字大小
  37. gaps_row:當行未進行叢集分析時,訓示再哪裡插入gap空隙
  38. gaps_col:同理
  39. labels_row:使用行标簽代替行名
  40. filename:儲存的路徑和檔案名。支援png、pdf、tiff、bmp、jpeg
  41. height:輸出的圖檔的高度,機關:inches
  42. silent:不畫出圖像(在gtable導出适用)
  43. na_col:對NA值對應的cell填充特定顔色
  44. … 圖中使用的文字的圖形化參數,傳遞給grid.texte,見gpar

三、相關性分析

相關性分析,就是衡量兩個變量之間的依賴性強弱

假設相關性不一定意味着A變量的變化會導緻B變量的變化,有可能存在相同的調節因素。

當兩個變量之間存在非常強烈的互相依賴關系的時候,就可以說兩個變量之間的存在高度相關性。

若兩組的值一起增大,為正相關;若一組的值增大時,另一組的值減小,稱之為負相關。

相關系數的值在 -1~1之間,1表示強正相關,0不相關,-1表示負相關。相關性矩陣可同時研究多個變量之間的相關性

package:stats

var(),cov(),cor(),cov2cor(),cor.test()

使用

var(x, y = NULL, na.rm = FALSE, use)//方差
cov(x, y = NULL, use = "everything",
    method = c("pearson", "kendall", "spearman"))//協方差

cor(x, y = NULL, use = "everything",
    method = c("pearson", "kendall", "spearman"))//相關性

cov2cor(V)
           

參數

  1. x:數值向量、矩陣、資料框
  2. y:預設為NULL,或次元與x相容的數值向量、矩陣、資料框。
  3. na.rm:布爾值訓示缺失值是否要删除
  4. use:字元串訓示計算存在缺失值時的協方差的方法,隻能是"everything", “all.obs”, “complete.obs”, “na.or.complete”, or "pairwise.complete.obs"之一(或縮寫)
  5. method:字元串訓示計算哪種相關系數或協方差,可以是"pearson" (預設), “kendall” 和 “spearman”(或縮寫)之一
  6. V:對稱數值型矩陣,通常是正定的,如協方差矩陣

四、相關性矩陣可視化

1、使用corrplot包可視化

corrplot()——package:corrplot

使用

corrplot(corr, method = c("circle", "square", "ellipse", "number", "shade",
  "color", "pie"), type = c("full", "lower", "upper"), add = FALSE,
  col = NULL, bg = "white", title = "", is.corr = TRUE, diag = TRUE,
  outline = FALSE, mar = c(0, 0, 0, 0), addgrid.col = NULL,
  addCoef.col = NULL, addCoefasPercent = FALSE, order = c("original",
  "AOE", "FPC", "hclust", "alphabet"), hclust.method = c("complete", "ward",
  "ward.D", "ward.D2", "single", "average", "mcquitty", "median", "centroid"),
  addrect = NULL, rect.col = "black", rect.lwd = 2, tl.pos = NULL,
  tl.cex = 1, tl.col = "red", tl.offset = 0.4, tl.srt = 90,
  cl.pos = NULL, cl.lim = NULL, cl.length = NULL, cl.cex = 0.8,
  cl.ratio = 0.15, cl.align.text = "c", cl.offset = 0.5, number.cex = 1,
  number.font = 2, number.digits = NULL, addshade = c("negative",
  "positive", "all"), shade.lwd = 1, shade.col = "white", p.mat = NULL,
  sig.level = 0.05, insig = c("pch", "p-value", "blank", "n", "label_sig"),
  pch = 4, pch.col = "black", pch.cex = 3, plotCI = c("n", "square",
  "circle", "rect"), lowCI.mat = NULL, uppCI.mat = NULL, na.label = "?",
  na.label.col = "black", win.asp = 1, ...)
           

參數

  1. corr: 可視化矩陣,如果order不是”original“,則必須為方形矩陣。對于一般矩陣,使用is.corr=FALSE來轉換。
  2. method: 字元串訓示可視化方法,包括“circle”(預設), “square”, “ellipse”, “number”, “shade”, “color”, “pie”。(圓形或正方形面積表示相應的相關系數的絕對值)
  3. type: 字元串訓示全矩陣(“full”,預設))、下三角(“upper”)、上三角矩陣(“lower”)
  4. add: 布爾值訓示是否将圖添加到現有圖,否則建立新圖
  5. col: 向量訓示字形的顔色,再cl.lim中均勻分布
  6. bg: 背景顔色
  7. title: 圖表标題
  8. is.corr: 布爾值訓示輸入矩陣是否為相關矩陣
  9. diag: 布爾值訓示是否在主對角線上顯示相關系數
  10. outline: 布爾值或字元,訓示是否繪制圓形、正方形、橢圓形的輪廓,或它們的顔色。TRUE預設黑色
  11. mar: 參閱par
  12. addgrid.col: 網格的顔色,NA不添加網格,NULL為預設值,取決于method。method為color和shade時不繪制網格,其它預設灰色
  13. addCoef.col: 圖上添加的系數的顔色。NULL不添加系數
  14. addCoefasPercent: 邏輯值訓示是否将系數轉化成百分比樣式
  15. order: 字元串訓示相關矩陣的排序方法。original:原始排序(預設);AOE:特征向量的角度順序;FPC:按照第一個主成分排序;hclust:按照層次聚類順序排序;alphabet:按照字母順序排序
  16. hclust.method: 字元串訓示當order為hclust時的聚類方法,可以是"ward", “ward.D”, “ward.D2”, “single”, “complete”, “average”, “mcquitty”, “median” , “centroid”
  17. addrect: 整數,根據層次聚類在圖上繪制的矩形的數量,僅在order為hclust時有效。如果為NULL(預設值),則不添加任何矩形。
  18. rect.col: 矩形邊框顔色,僅在addrect>1時有效
  19. rect.lwd: 數值,矩形邊框的線寬,僅當addrect等于或大于1時有效。
  20. tl.pos: 字元串或布爾值訓示文字标簽的位置,字元串必須是lt(type為full時的預設,指左上方),ld(type為lower時的預設,指左斜對角線),td(type為upper時的預設,指頂部和對角線(附近)),d指斜對角線,n指不添加文字标簽。
  21. tl.cex: 數值,文本标簽的大小(變量名)
  22. tl.col: 文本标簽的顔色
  23. tl.offset: 數值,用于文本标簽,見 text
  24. tl.srt: 數值,文本标簽旋轉,見 text
  25. cl.pso: 字元串或布爾值訓示colorlabel的位置,字元串可以是r(type為upper或full時的預設),b(type為lower時的預設),n(不繪制colorlabel)
  26. cl.lim: colorlabel的範圍(x1,x2)
  27. cl.length: 數值,colorlabel中數字文本的數量。傳遞給colorlegend
  28. cl.cex: 數值,colorlabel的數字标簽的大小,傳遞給colorlegend
  29. cl.ratio: 數值,colorlabel的寬度,建議為0.1~0.2
  30. cl.align.text: 字元串,“l“左,”c“正中(預設),”r”右
  31. cl.offset: 數值,用于colorlabel的數字标簽
  32. number.cex: 在将相關系數寫入繪圖時,要發送給文本調用的cex參數。
  33. number.font: 在将相關系數寫入繪圖時,要發送給文本調用的字型參數。
  34. number.digits: 訓示要添加到繪圖中的十進制數字的數目。非負整數或NULL,預設為NULL。
  35. addshade: 字元串,訓示陰影類型,可以是:negative,positive,all。隻有當method是“shade“時才有效。如果為“all”,則所有相關系數的字形将被着色;如果是“positive”,隻有正數會被着色;如果是“negative”,隻有負的部分會被着色。注:陰影先的角度不同,positive45度,negative135度。
  36. shade.lwd: 數值訓示陰影線寬
  37. shade.col: 陰影線顔色
  38. p.mat: p值矩陣,如果為NULL,參數sig.level, insig, pch, pch.col, pch.cex便缺失
    1. sig.level: 顯著水準,如果p-mat中的p值比sig.level大,則對應的的關系系數被認為是有顯著意義的。如果insig是”label_sig",這可能是顯著水準的一個增加向量,在這種情況下,pch将被用于最高p值的區間一次或多次用于(例如:“ * ”、“ * * ”、“ * * * ”)于較低p值的區間。
    2. insig: 字元串,詳細說明顯著相關系數,“pch”(預設)、“p-value”(添加相應的符号)、“blank”(不顯示)、“n”(不要采取任何措施)或“label_sig”(使用pch标記顯著相關性)。sh
    3. pch: 在圖形上添加訓示顯著相關的字元串(隻有當insig為pch時生效)
    4. pch.col: pch的顔色(隻有當insig為pch時生效)
    5. pch.cex: pch的(隻有當insig為pch時生效)
  39. plotCI: 字元串,訓示拟合置信區間的方法,“n"(不畫置信區間)、“rect”(分别繪制上側為上界,下側為下界的矩形,并在矩形上添加相關系數)、“circle”(先畫邊界絕對值較大的圓,再畫較小的,進而形成一個圓。如果兩個界限是一樣的,則清除較小的圓,“square”和circle同理)
  40. lowCI.mat: 置信區間下界的矩陣
  41. uppCI.mat: 置信區間上界的矩陣
  42. na.label: 用于畫NA單元格的标簽,“?"(預設),“square”(使用na.label.col的顔色畫NA單元格)
  43. na.label.col: 畫NA單元格的顔色,預設為黑色
  44. win.asp: 整個圖的高寬比,除1以外的值目前隻與“circle”和“square”方法相容
  45. … : 傳遞給text函數用于繪制文本标簽的其他參數

圖:參考資料

可視化方法:method參數

  1. circle
    2020.08.01-08.15學習小結一、ggpubr包統計資料導出二、使用pheatmap包繪制熱圖三、相關性分析四、相關性矩陣可視化
  2. ellipse
    2020.08.01-08.15學習小結一、ggpubr包統計資料導出二、使用pheatmap包繪制熱圖三、相關性分析四、相關性矩陣可視化
  3. pie
    2020.08.01-08.15學習小結一、ggpubr包統計資料導出二、使用pheatmap包繪制熱圖三、相關性分析四、相關性矩陣可視化
  4. color
    2020.08.01-08.15學習小結一、ggpubr包統計資料導出二、使用pheatmap包繪制熱圖三、相關性分析四、相關性矩陣可視化
  5. number
    2020.08.01-08.15學習小結一、ggpubr包統計資料導出二、使用pheatmap包繪制熱圖三、相關性分析四、相關性矩陣可視化

輸出布局:type參數

  1. upper
    2020.08.01-08.15學習小結一、ggpubr包統計資料導出二、使用pheatmap包繪制熱圖三、相關性分析四、相關性矩陣可視化
  2. lower
    2020.08.01-08.15學習小結一、ggpubr包統計資料導出二、使用pheatmap包繪制熱圖三、相關性分析四、相關性矩陣可視化

2、使用cytoscape軟體可視化

cytoscape基礎使用

cytoscape使用一:下載下傳安裝

cytoscape使用二:資料準備和資料導入

cytoscape使用三:圖中節點屬性和設定方法

cytoscape使用四:圖中線屬性和設定方法

布局更改:layout,除自帶樣式外可從app store下載下傳更多樣式