【发布时间】:2011-12-30 12:22:17
【问题描述】:
我有一个输入文件,其中包含约 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)
在另一个问题的帮助下,我得到了一个饼图,用于同时出现这样的因素:
counts = with(data, table(tapply(factor, cluster, function(x) paste(as.character(sort(unique(x))), collapse='+'))))
pie(counts[counts>1])
但是现在我想要一个维恩图来表示因素的共现。理想情况下,也可以采用每个因素的最小计数阈值的方式。例如,不同因素的维恩图,这样每个因素都必须在每个集群中出现 n>10 才能被考虑在内。
我试图找到一种方法来使用聚合生成表计数,但无法使其工作。
【问题讨论】:
-
你看过任何用于维恩图的 R 包吗?请参阅 G. Jay Kerns 使用
venneuler库的 this recent example,或使用venn库 (Murdoch, 2004) 在 Stat Software 杂志上的这篇简短文章。如果这纯粹是关于 R 编程,它应该迁移到 SO。 -
Avilella,这个问题可能没有得到任何答案,因为它有点偏离主题。你可能会在 SO 上做得更好,它有一个活跃的 R 用户社区。但请不要交叉发布:如果您希望迁移该问题,只需标记问题以引起版主注意。
-
我标记了它,但我还看不到它被移动到 SO...
-
嗯...没有引发标志。我来这里只是因为我记得。无论如何,我们走吧。我相信您会在 SO 上得到一些好的答复。
-
@avilella -- 以下解决方案是否符合要求?如果您有另一个维恩图包,并且无法将数据转换为适当的形式,请告诉我。谢谢。
标签: r combinations data-visualization factor-analysis