简介
集合可视化我们用得最多的是韦恩图,韦恩图在集合数少的时刻是很好用的,然则当集合数多比如五个以上的时刻那就会看花眼了,比如下面这副含有6个集合韦恩图,是揭橥在Nature汕9依υ?┞仿里的,漂亮是漂亮,然则眼都快看花了。
今天介绍一个R包UpSetR,专门用来集合可视化,来源竽暌冠UpSet,Python琅绫擎也有一个类似的包py-upset。此外还有个UpSetR shiny app以及源代码。
安装
两种方法安装:
- #大年夜CRAN安装
- install.packages("UpSetR")
- #大年夜Github上安装
- devtools::install_github("hms-dbmi/UpSetR")
数据导入
UpSetR供给了两个函数fromList以及fromExpression将数据转换为UpsetR实用的数据格局。
- #fromList
- listinput <- list(one = c(1, 2, 3, 5, 7, 8, 11, 12, 13), two = c(1, 2, 4, 5,
- 10), three = c(1, 5, 6, 7, 8, 9, 10, 12, 13))
- #fromExpression
- expressionInput <- c(one = 2, two = 1, three = 2, `one&two` = 1, `one&three` = 4,
- `two&three` = 1, `one&two&three` = 2)
接下来就可以绘制绘制图形了
- library(UpSetR)
- upset(fromList(listinput), order.by = "freq")
- #下面绘制的图形等同于上图
- upset(fromExpression(expressionInput), order.by = "freq")
参数详解
沙龙晃荡 | 去哪儿、陌陌、ThoughtWorks在主动化运维中的实践!10.28不见不散!
下面所有的例子都将应用UpSetR内置的数据集movies来绘制。
- #导入数据
- movies <- read.csv(system.file("extdata", "movies.csv", package = "UpSetR"), header = TRUE, sep = ";")
- #先大年夜致浏览一下该数据集,数据集太长,就只看前几列
- knitr::kable(head(movies[,1:10]))
该数据集展示的是片子名(name)、发行时光(ReleaseDate)以及片子类型,多了去了就不详匠了棘自个可以看去。
UpsetR绘制集合可视化图形应用函数upset()。
- upset(movies, nsets = 6, number.angles = 30, point.size = 2, line.size = 1, mainbar.y.label =
推荐阅读
沙龙晃荡 | 去哪儿、陌陌、ThoughtWorks在主动化运维中的实践!10.28不见不散!大年夜家好,给大年夜家介绍一下,这是我的…..。Eruda 是一个专为手机网页前端设计的调试面板,类似 DevTools 的迷>>>详细阅读
本文标题:R语言可视化之UpSetR包
地址:http://www.17bianji.com/lsqh/38000.html
1/2 1