是否有可能抑制R中gc()的所有消息?
通常喜欢suppressWarnings(gc( ))
或suppressMessages(gc( ))
不工作.gc( )
本身有一个verbose
选项,但这不是我喜欢它的工作方式:
> gc(verbose=TRUE)
Garbage collection 375 = 234+40+101 (level 2) ...
17.9 Mbytes of cons cells used (41%)
171.2 Mbytes of vectors used (43%)
used (Mb) gc trigger (Mb) max used (Mb)
Ncells 334493 17.9 818163 43.7 818163 43.7
Vcells 22431904 171.2 52178020 398.1 50193465 383.0
> gc(verbose=FALSE)
used (Mb) gc trigger (Mb) max used (Mb)
Ncells 334496 17.9 818163 43.7 818163 43.7
Vcells 22431916 171.2 52178020 398.1 …
Run Code Online (Sandbox Code Playgroud) 虽然我的问题似乎很容易,但我现在已经有一段时间了.我有一个包含P值的对称矩阵.现在我想从矩阵中删除所有不包含超过确定阈值的值的行/列.
示例矩阵:
test <- c(1.0000000000, 0.001996328, 0.000176308, 0.0002305861, 0.1514324000,
0.0019963281, 1.000000000, 0.007106454, 0.409054300, 0.001210349,
0.0001763080, 0.007106454, 1.000000000, 0.217609400, 0.185434400,
0.0002305861, 0.409054269, 0.217609401, 1.000000, 1.972118e-09,
0.1514324468, 0.001210349, 0.185434396, 1.972118e-09, 1.000000)
m <- matrix(test, nrow=5, ncol=5)
genes <- c("geneA", "geneB", "geneC", "geneD", "geneE")
rownames(m) <- genes
colnames(m) <- genes
m
Run Code Online (Sandbox Code Playgroud)
这将导致:
geneA geneB geneC geneD geneE
geneA 1.0000000000 0.001996328 0.000176308 2.305861e-04 1.514324e-01
geneB 0.0019963280 1.000000000 0.007106454 4.090543e-01 1.210349e-03
geneC 0.0001763080 0.007106454 1.000000000 2.176094e-01 1.854344e-01
geneD 0.0002305861 0.409054300 0.217609400 1.000000e+00 1.972118e-09
geneE 0.1514324000 …
Run Code Online (Sandbox Code Playgroud)