在维恩图中使用最高 25% 的值创建子集

Creating subsets of the highest 25% of values using them in a Venn Diagram

这是我的 space 分隔数据的示例,总共有 796 行:

         Locus     GSL Barents Ireland
1 cgpGmo-S1001 0.25805 0.00339 0.02252
2 cgpGmo-S1006 0.11041 0.04298 0.06036
3 cgpGmo-S1007 0.24085 0.08937 0.03964
4 cgpGmo-S1008 0.07428 0.10824 0.01802
5 cgpGmo-S1009 0.08524 0.01471 0.00000
6 cgpGmo-S1013 0.03547 0.05091 0.00991

我想要做的是隔离前四分位数(三个类别中的每一个类别为 25%,然后绘制一个维恩图,显示 1 个值位于前 25% 的位点(行)的数量、2 或全部三个类别。

我相当确定我可以使用维恩图包来创建图表,但我不确定如何生成落在每个类别前 25% 的位点列表以用作维恩图的对象。

一个简单的案例 - 排序并获得最低的 25%:

a <- seq (100,1,-1)
b <- seq (100,1,-1)
d <- data.frame(cbind(col1=a, col2=b))
sort(d$col1)[1:(length(d$col1)/4)]

将进行排序并为您提供最低值的 25%。

(或者为了避免排序 [可能是内存密集型] 然后使用 order:

d$col1[order(d$col1)][1:(length(d$col1)/4)]

)