我正在try 对一些数据集进行表示,以显示不同组之间有多少元素是通用的.

我正在考虑做一些类似于维恩图的事情,但对于这个表示法来说,有一个问题.

在这里,我正在做一个我的问题的非常简单的例子.让我们假设我有这样一个 list :

my_list=list(c("A", "A", "A", "B", "B"), c("A", "A", "A", "C"), c("A", "A", "A", "D") 

我可以用维恩图来表示它,如下所示:

library(VennDiagram)
display_venn <- function(x, a_category){
  grid.newpage()
  venn_object <- venn.diagram(x, category.names = a_category, filename = NULL)
  grid.draw(venn_object)
}
 
 display_venn(my_list , a_category=c("set1", "set2", "set2")

此命令的输出为:

Venn diagram output

This is because the elements in the list are considered ONLY ONCE.
So, it is like to have ("A", "B"), ("A", "C"), and ("A", "D").

The problem is that this is not what I want.
I need a representation that shows the amount of elements.
So, for set1 would be: 3 in common, 2 alone.
So, for set2 would be: 3 in common, 1 alone.
So, for set3 would be: 3 in common, 1 alone.

Is there some kind of "Venn diagram" (at this point I am not sure even if it is a Venn representation) library that deals with duplicates?
Thanks for any help.

推荐答案

您需要更改重复的元素,以便它们在每个向量中是唯一的,但在向量中是一致的.一种方法是按顺序对每个向量中的重复项进行编号(例如,第一个向量将变为c("A1", "A2", "A3", "B1", "B2")).

library(VennDiagram)

my_list |>
  lapply(\(x) paste0(sort(x), sequence(table(x)))) |>
  display_venn(a_category = c("set1", "set2", "set3"))

创建于2024-03-01年第reprex v2.0.2

R相关问答推荐

按崩溃类别分类的指数

卸载安装了BRM的模型发出的警告

在垂直轴中包含多个ggplot2图中的平均值

使用R中相同值创建分组观测指标

更改默认系列1以更改名称

将向量组合到一个数据集中,并相应地命名行

R Sapply函数产生的值似乎与for循环方法略有不同

根据元素和前一个值之间的差值过滤矩阵的元素

提取一个列表中单个列的重复观察结果R

通过在colname中查找其相应值来创建列

您是否可以将组添加到堆叠的柱状图

仅在R中的数据集开始和结束时删除所有 Select 列的具有NA的行

将箭头绘制在图形外部,而不是图形内部

构建一个6/49彩票模拟系统

我正在try 创建一个接近cos(X)的值的While循环,以便它在-或+1-E10范围内

如何获取R chromote中的当前URL?

网络抓取NBA.com

如何编辑被动式数据表?

无法保存gglot的所有pdf元素

按顺序将地块添加到列表