本文的大部分内容参考此链接https://yq.aliyun.com/articles/241538
UpsetR可以识别的数据类型目前我知道的由2种
1.一种是由0和1的格式表示的数据集
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))
2.第二种格式是直接通过交集的形式展现出来的,分别如下,然后需要格式转换
expressionInput <- c(one = 2, two = 1, three = 2, `one&two` = 1, `one&three` = 4,
`two&three` = 1, `one&two&three` = 2)
New_Data=fromExpression(expressionInput)
UpsetR包内自带数据集movies导入方法如下
movies <- read.csv(system.file("extdata", "movies.csv", package = "UpSetR"), header = TRUE, sep = ";")
knitr::kable(head(movies[,1:10])) ##相当于head()和View()以及table()等函数,对数据进行查看的一种方式
upset(movies, nsets = 6, number.angles = 30, point.size = 2, line.size = 1,
mainbar.y.label = "Genre Intersections", sets.x.label = "Movies Per Genre",
text.scale = c(1.3, 1.3, 1, 1, 1.5, 1))
对Upset()函数里的参数进行解释
nsets: 顾名思义,就是展示几个集合,movies数据集由20几个集合,不可能全部展示,另外从图中可以看出,这6个集合应该不是按顺序选择的。
numble.angle: 柱子上的数字看到了吧,这个参数就是调整数字角度的,可有可无的
mainbar.y.label/sets.x.label:坐标轴名称
text.scale(): 有六个数字,分别控制c(intersection size title, intersection size tick labels, set size title, set size tick labels, set names, numbers above bars)。