r - 如何在 R 中直接显示路径 View 图(而不是另存为文件)?

标签 r

这是一个示例,输出是一个 png 文件 hsa04110.gse16873.png。我的问题是如何直接显示绘图而不是将其保存为文件。

library(pathview)
data(gse16873.d)
data(demo.paths)
data(paths.hsa)
pathview(gene.data = gse16873.d[, 1], pathway.id = demo.paths$sel.paths[1],
                   species = "hsa", out.suffix = "gse16873", kegg.native = T)
#> 'select()' returned 1:1 mapping between keys and columns
#> Info: Working in directory D:/github/RNASeq-KEGG
#> Info: Writing image file hsa04110.gse16873.png

最佳答案

看起来 pathview 只渲染 PNG,所以诀窍是定义一个函数,该函数将在绘图窗口中显示创建的 PNG,并且默认情况下删除文件本身就好像您正在查看它在内存中。作为一种选择,您可以保留 PNG 的副本。

require(pathview)
require(grid)
require(png)

see_pathview <- function(..., save_image = FALSE)
{
  msg <- capture.output(pathview::pathview(...), type = "message")
  msg <- grep("image file", msg, value = T)
  filename <- sapply(strsplit(msg, " "), function(x) x[length(x)])
  img <- png::readPNG(filename)
  grid::grid.raster(img)
  if(!save_image) invisible(file.remove(filename))
}

现在当你这样做的时候:


data(gse16873.d)
data(demo.paths)
data(paths.hsa)

see_pathview(gene.data = gse16873.d[, 1], 
             pathway.id = demo.paths$sel.paths[1],
             species = "hsa", 
             out.suffix = "gse16873", 
             kegg.native = T)

您没有收到任何通知您写入文件的消息,您的工作目录中没有新的 png,并且在查看器 Pane 中弹出此图片:

enter image description here

关于r - 如何在 R 中直接显示路径 View 图(而不是另存为文件)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60141841/

相关文章:

具有等式和不等式约束的 R 优化

r - R 中 "!is.null()"的替代方案

r - 在 Shiny 中使用 sliderInput 时保持日期范围

r - 如何将字符附加到列表中的每个元素

r - 通过具有不同 ID 值的列扩展 R 中的数据框

r - Shiny 中的嵌套响应式(Reactive)表达式

r - 选择第一个正面事件

r - 从列表中获取总和为特定数字的所有数字组合

r - 求解 R 中的不定方程组

从函数返回数据帧