相关疑难解决方法(0)

维恩图用R?

除了limma包之外,还有用于在R中进行维恩图的其他包装.

有人有提示吗?

这里有关于用limma包做维恩图的一些注意事项.

r venn-diagram

27
推荐指数
6
解决办法
3万
查看次数

来自聚类和共同因子列表的维恩图

我有一个输入文件,其中包含~50000个簇的列表,并且每个簇中都存在多个因子(总共约1000万个条目),请参阅下面的较小示例:

set.seed(1)
x = paste("cluster-",sample(c(1:100),500,replace=TRUE),sep="")
y = c(
  paste("factor-",sample(c(letters[1:3]),300, replace=TRUE),sep=""),
  paste("factor-",sample(c(letters[1]),100, replace=TRUE),sep=""),
  paste("factor-",sample(c(letters[2]),50, replace=TRUE),sep=""),
  paste("factor-",sample(c(letters[3]),50, replace=TRUE),sep="")
)
data = data.frame(cluster=x,factor=y)
Run Code Online (Sandbox Code Playgroud)

在另一个问题的帮助下,我得到了一个像这样的因素同时出现的饼图:

counts = with(data, table(tapply(factor, cluster, function(x) paste(as.character(sort(unique(x))), collapse='+'))))
pie(counts[counts>1])
Run Code Online (Sandbox Code Playgroud)

但是现在我想得到一个因子共存的维恩图.理想情况下,也可以采用每个因子的最小计数阈值.例如,针对不同因素的维恩图,使得每个因子中的每一个必须在每个群集中存在n> 10以被考虑.

我试图找到一种方法来生成具有聚合的表计数,但无法使其工作.

combinations r data-visualization factor-analysis

13
推荐指数
1
解决办法
1万
查看次数

有没有办法制作一个包含内部所有点的维恩图?

我找到了实现这一目标的方法,但它需要大量的猜测,并且所有的Venn或Euler图表包似乎只允许您将总出现次数放在圆圈内.

数据:

name=c('itm1','itm2','itm3','itm4','itm5','itm6','itm7','itm8','itm9','itm0')
x=c(5,2,3,5,6,7,7,8,9,2)
y=c(6,9,9,7,6,5,2,3,2,4)
z=data.frame(name,x,y)
Run Code Online (Sandbox Code Playgroud)

绘制点并标记它们:

plot(z$x,z$y,type='n')
text(z$x,z$y,z$name)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

手动将圆圈放在点上:

par(new=T)
symbols(3,7,circles=2.5,add=T,bg='#34692499',inches=F)
symbols(6,6,circles=1.5,add=T,bg='#64392499',inches=F)
symbols(8,3,circles=2,add=T,bg='#24399499',inches=F)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

因此,这是一个非常繁琐的过程,为每个项目提供x和y坐标,然后猜测放置圆圈的位置以及给出它们的半径.

理想情况下,我想使用我最初的数据集,如下所示:

cat1=c('itm2','itm3','itm0')
cat2=c('itm1','itm4','itm5','itm6')
cat3=c('itm6','itm7','itm8','itm9')
Run Code Online (Sandbox Code Playgroud)

然后将点分配到正确的圆圈中.有没有更好的方法呢?

r venn-diagram

6
推荐指数
1
解决办法
641
查看次数