天天看点

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下载更多样式