一、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",
...
)
參數
-
formula:公式,x~group,x為數值變量,表示資料的值。group是具有一或多個級别的因子變量,表示相應的組。
(eg. formula = TP53 ~ cancer-group,formula=c(TP53,PTEN) ~ cancer_group)
- data:資料框, 包含公式中的變量
- method:檢驗方法,預設為wilcox.test(t.test、wilcox.test、anova、kruskal.test)
- paired:邏輯值,是否使用配對檢驗,t.test和wilcox.test中使用
- group.by:字元向量,表示分組變量名稱
- ref.group:字元串,指定參考分組,如果指定,則所有組都将與參考組比較
- 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
- p.adjust.method:調整p值的方法,詳見p.adjust。僅在執行多個配對檢驗時或有多個分組變量時執行。包含 “holm”, “hochberg”, “hommel”, “bonferroni”, “BH”, “BY”, “fdr”, “none”,有多個分組變量時,将為每個變量獨立進行p值調整
導出資料
導出資料為資料框格式,包含以下列
列名
- .y.:檢驗中使用的y變量
- group1,group2(隻有t檢驗和wilcox檢驗有):配對檢驗中的分組
- p:p值
- p.adj:調整p值,預設方法為"holm"
- p.format:格式化p值
- p.signif:顯著性水準
- 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", ...)
參數
- mat:要繪制的值的數值矩陣
- color:熱圖顔色選擇
- break:用來定義數值喝顔色的對應關系。可以将特定顔色和特定數值關聯,如果NA則自動進行計算。如果顔色超過值的範圍,超過門檻值的會使用和門檻值一樣的顔色。
- border_color:熱圖的機關元素的描邊顔色,NA表示不描邊
- cellwidth:熱圖機關元素(cell)的寬度,NA表示依據視窗自動調整
- cellheight:同理
- scale:數值标準化,可以是“row“,”column“,”none“
- cluster_rows:用布爾值來判定行元素是不是應該被clustered or clust object
- cluster_cols:同理
- clustering_distance_rows:計算類間距的方式,預設:“euclidean”(歐式距離)
- clustering_distance_cols:同理
- clustering_method:cluster方法
- clustering_callback:修改cluster的回調函數。通過兩個參數調用:原始hclust對象、用于聚類的矩陣。必須傳回一個hclust對象。
- cutree_rows:如果使用了對行的叢集,則可以指定叢集個數(基于hclust),如果未使用對行叢集則忽略
- cutree_cols同理
- treeheight_row:行叢集樹的高度
- treeheight_col:同理
- legend:圖例是否顯示
- legend_breaks:圖例是否斷點标注
- legend_labels:圖例的标題
- annotation_row:指定對行進行分類注釋,熱圖左側顯示的注釋的資料框,資料中的行名與注釋的行名需要比對。需要考慮連續變量或離散的變量的配色方案
- annotation_col:同理
- annotation:棄用參數
- annotation_colors:指定注釋條的顔色
- annotation_legend:布爾值表示是否顯示注釋條的圖例
- annotation_names_row:布爾值表示是否在圖例上顯示注釋名稱
- drop_levels:是否在圖例顯示unused levels
- shown_rownames:是否顯示行名
- shown_colnames:是否顯示列名
- main:圖表主标題
- fondsize:圖表字型大小
- fontsize_row:行标題的字号
- angle_col:列标簽的角度
- display_numbers:是否在機關元素(cell)内顯示數字
- number_format:顯示在cell内的數字格式,例如%.2代表兩位小數%.1e表示指數形式…參見C語言printf函數格式
- fontsize_number:限制在Cell内的數字大小
- gaps_row:當行未進行叢集分析時,訓示再哪裡插入gap空隙
- gaps_col:同理
- labels_row:使用行标簽代替行名
- filename:儲存的路徑和檔案名。支援png、pdf、tiff、bmp、jpeg
- height:輸出的圖檔的高度,機關:inches
- silent:不畫出圖像(在gtable導出适用)
- na_col:對NA值對應的cell填充特定顔色
- … 圖中使用的文字的圖形化參數,傳遞給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)
參數
- x:數值向量、矩陣、資料框
- y:預設為NULL,或次元與x相容的數值向量、矩陣、資料框。
- na.rm:布爾值訓示缺失值是否要删除
- use:字元串訓示計算存在缺失值時的協方差的方法,隻能是"everything", “all.obs”, “complete.obs”, “na.or.complete”, or "pairwise.complete.obs"之一(或縮寫)
- method:字元串訓示計算哪種相關系數或協方差,可以是"pearson" (預設), “kendall” 和 “spearman”(或縮寫)之一
- 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, ...)
參數
- corr: 可視化矩陣,如果order不是”original“,則必須為方形矩陣。對于一般矩陣,使用is.corr=FALSE來轉換。
- method: 字元串訓示可視化方法,包括“circle”(預設), “square”, “ellipse”, “number”, “shade”, “color”, “pie”。(圓形或正方形面積表示相應的相關系數的絕對值)
- type: 字元串訓示全矩陣(“full”,預設))、下三角(“upper”)、上三角矩陣(“lower”)
- add: 布爾值訓示是否将圖添加到現有圖,否則建立新圖
- col: 向量訓示字形的顔色,再cl.lim中均勻分布
- bg: 背景顔色
- title: 圖表标題
- is.corr: 布爾值訓示輸入矩陣是否為相關矩陣
- diag: 布爾值訓示是否在主對角線上顯示相關系數
- outline: 布爾值或字元,訓示是否繪制圓形、正方形、橢圓形的輪廓,或它們的顔色。TRUE預設黑色
- mar: 參閱par
- addgrid.col: 網格的顔色,NA不添加網格,NULL為預設值,取決于method。method為color和shade時不繪制網格,其它預設灰色
- addCoef.col: 圖上添加的系數的顔色。NULL不添加系數
- addCoefasPercent: 邏輯值訓示是否将系數轉化成百分比樣式
- order: 字元串訓示相關矩陣的排序方法。original:原始排序(預設);AOE:特征向量的角度順序;FPC:按照第一個主成分排序;hclust:按照層次聚類順序排序;alphabet:按照字母順序排序
- hclust.method: 字元串訓示當order為hclust時的聚類方法,可以是"ward", “ward.D”, “ward.D2”, “single”, “complete”, “average”, “mcquitty”, “median” , “centroid”
- addrect: 整數,根據層次聚類在圖上繪制的矩形的數量,僅在order為hclust時有效。如果為NULL(預設值),則不添加任何矩形。
- rect.col: 矩形邊框顔色,僅在addrect>1時有效
- rect.lwd: 數值,矩形邊框的線寬,僅當addrect等于或大于1時有效。
- tl.pos: 字元串或布爾值訓示文字标簽的位置,字元串必須是lt(type為full時的預設,指左上方),ld(type為lower時的預設,指左斜對角線),td(type為upper時的預設,指頂部和對角線(附近)),d指斜對角線,n指不添加文字标簽。
- tl.cex: 數值,文本标簽的大小(變量名)
- tl.col: 文本标簽的顔色
- tl.offset: 數值,用于文本标簽,見 text
- tl.srt: 數值,文本标簽旋轉,見 text
- cl.pso: 字元串或布爾值訓示colorlabel的位置,字元串可以是r(type為upper或full時的預設),b(type為lower時的預設),n(不繪制colorlabel)
- cl.lim: colorlabel的範圍(x1,x2)
- cl.length: 數值,colorlabel中數字文本的數量。傳遞給colorlegend
- cl.cex: 數值,colorlabel的數字标簽的大小,傳遞給colorlegend
- cl.ratio: 數值,colorlabel的寬度,建議為0.1~0.2
- cl.align.text: 字元串,“l“左,”c“正中(預設),”r”右
- cl.offset: 數值,用于colorlabel的數字标簽
- number.cex: 在将相關系數寫入繪圖時,要發送給文本調用的cex參數。
- number.font: 在将相關系數寫入繪圖時,要發送給文本調用的字型參數。
- number.digits: 訓示要添加到繪圖中的十進制數字的數目。非負整數或NULL,預設為NULL。
- addshade: 字元串,訓示陰影類型,可以是:negative,positive,all。隻有當method是“shade“時才有效。如果為“all”,則所有相關系數的字形将被着色;如果是“positive”,隻有正數會被着色;如果是“negative”,隻有負的部分會被着色。注:陰影先的角度不同,positive45度,negative135度。
- shade.lwd: 數值訓示陰影線寬
- shade.col: 陰影線顔色
- p.mat: p值矩陣,如果為NULL,參數sig.level, insig, pch, pch.col, pch.cex便缺失
- sig.level: 顯著水準,如果p-mat中的p值比sig.level大,則對應的的關系系數被認為是有顯著意義的。如果insig是”label_sig",這可能是顯著水準的一個增加向量,在這種情況下,pch将被用于最高p值的區間一次或多次用于(例如:“ * ”、“ * * ”、“ * * * ”)于較低p值的區間。
- insig: 字元串,詳細說明顯著相關系數,“pch”(預設)、“p-value”(添加相應的符号)、“blank”(不顯示)、“n”(不要采取任何措施)或“label_sig”(使用pch标記顯著相關性)。sh
- pch: 在圖形上添加訓示顯著相關的字元串(隻有當insig為pch時生效)
- pch.col: pch的顔色(隻有當insig為pch時生效)
- pch.cex: pch的(隻有當insig為pch時生效)
- plotCI: 字元串,訓示拟合置信區間的方法,“n"(不畫置信區間)、“rect”(分别繪制上側為上界,下側為下界的矩形,并在矩形上添加相關系數)、“circle”(先畫邊界絕對值較大的圓,再畫較小的,進而形成一個圓。如果兩個界限是一樣的,則清除較小的圓,“square”和circle同理)
- lowCI.mat: 置信區間下界的矩陣
- uppCI.mat: 置信區間上界的矩陣
- na.label: 用于畫NA單元格的标簽,“?"(預設),“square”(使用na.label.col的顔色畫NA單元格)
- na.label.col: 畫NA單元格的顔色,預設為黑色
- win.asp: 整個圖的高寬比,除1以外的值目前隻與“circle”和“square”方法相容
- … : 傳遞給text函數用于繪制文本标簽的其他參數
圖:參考資料
可視化方法:method參數
- circle
2020.08.01-08.15學習小結一、ggpubr包統計資料導出二、使用pheatmap包繪制熱圖三、相關性分析四、相關性矩陣可視化 - ellipse
2020.08.01-08.15學習小結一、ggpubr包統計資料導出二、使用pheatmap包繪制熱圖三、相關性分析四、相關性矩陣可視化 - pie
2020.08.01-08.15學習小結一、ggpubr包統計資料導出二、使用pheatmap包繪制熱圖三、相關性分析四、相關性矩陣可視化 - color
2020.08.01-08.15學習小結一、ggpubr包統計資料導出二、使用pheatmap包繪制熱圖三、相關性分析四、相關性矩陣可視化 - number
2020.08.01-08.15學習小結一、ggpubr包統計資料導出二、使用pheatmap包繪制熱圖三、相關性分析四、相關性矩陣可視化
輸出布局:type參數
- upper
2020.08.01-08.15學習小結一、ggpubr包統計資料導出二、使用pheatmap包繪制熱圖三、相關性分析四、相關性矩陣可視化 - lower
2020.08.01-08.15學習小結一、ggpubr包統計資料導出二、使用pheatmap包繪制熱圖三、相關性分析四、相關性矩陣可視化
2、使用cytoscape軟體可視化
cytoscape基礎使用
cytoscape使用一:下載下傳安裝
cytoscape使用二:資料準備和資料導入
cytoscape使用三:圖中節點屬性和設定方法
cytoscape使用四:圖中線屬性和設定方法
布局更改:layout,除自帶樣式外可從app store下載下傳更多樣式