【问题标题】:Correction for multiple testing for very large files with repetitions对具有重复的非常大文件的多次测试进行更正
【发布时间】:2017-12-14 00:35:46
【问题描述】:

我有 10 个大小约为 8-9 Gb 的文件,例如:

7       72603   0.0780181622612
15      72603   0.027069072329
20      72603   0.00215643186987
24      72603   0.00247965378216
29      72603   0.0785606184492
32      72603   0.0486866833899
33      72603   0.000123332654879

对于每对数字(第 1 列和第 2 列),我有 p 值(第 3 列)。 但是,我重复了对(它们可以在不同的文件中),我想摆脱其中的一个。如果文件更小,我会使用 pandas。例如:

7    15    0.0012423442
...
15   7     0.0012423442

我还想对这个集合进行多次测试的校正,但是值的向量非常大。

是否可以用 Python 或 R 做到这一点?

【问题讨论】:

  • 如果您的文件不适合您的 RAM,您可能需要将它们存储在数据库或基于文件系统的数据结构中。也许 R 包 ffsqldfRSQLite 可以提供帮助。也看看这个答案:stackoverflow.com/questions/11969547/…

标签: r python-3.x statistics large-files


【解决方案1】:
> df <- data.frame(V1 = c("A", "A", "B", "B", "C", "C"),
+                  V2 = c("B", "C", "A", "C", "A", "B"),
+                  n = c(1, 3, 1, 2, 3, 2))
> df
  V1 V2 n
1  A  B 1
2  A  C 3
3  B  A 1
4  B  C 2
5  C  A 3
6  C  B 2
> df[!duplicated(t(apply(df, 1, sort))), ]
  V1 V2 n
1  A  B 1
2  A  C 3
4  B  C 2

【讨论】:

  • 取决于原始海报可用的 RAM,这是否有用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-11-25
  • 1970-01-01
  • 1970-01-01
  • 2011-12-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多