一、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(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
-
ellipse
-
pie
-
color
-
number
输出布局:type参数
- upper
- lower
2、使用cytoscape软件可视化
cytoscape基础使用
cytoscape使用一:下载安装
cytoscape使用二:数据准备和数据导入
cytoscape使用三:图中节点属性和设置方法
cytoscape使用四:图中线属性和设置方法
布局更改:layout,除自带样式外可从app store下载更多样式