gpt4 book ai didi

rstudioapi::viewer 编程删除选项

转载 作者:行者123 更新时间:2023-12-04 04:17:45 26 4
gpt4 key购买 nike

rstudioapi::viewer可以从 temp 目录呈现静态 html 页面,如下例所示。

dir <- tempfile()
dir.create(dir)
htmlFile <- file.path(dir, "index.html")
writeLines(
'<h1 style="text-align: center;">Thank you for using <span style="color: #ff0000;">Tidycells</span></h1>
<p style="text-align: center;">It is an <span style="color: #ff6600;"><strong>assistant</strong> </span>for you</p>
<p style="text-align: center;">It is <span style="text-decoration: underline;">yet to <span style="color: #0000ff; text-decoration: underline;">evolve</span></span></p>',
htmlFile
)
suppressWarnings(rstudioapi::viewer(htmlFile))

但是,我无法使用 R 代码删除查看器对象。

截图

enter image description here

如果有人点击删除按钮(“删除当前查看器项目”),当前项目将被删除。

我一直在寻找一种编程方式来做到这一点。

也许 rstudioapi::viewer(htmlFile) 将返回一个 id 并且可用于从查看器 Pane 中删除特定项目。

最佳答案

我终于做到了

runApp_nb <- function(sa, pin_port = NULL){


viewer <- getOption("viewer")
if(!is.null(viewer)){

if(!is.null(pin_port) && is.integer(pin_port)){
port <- pin_port
}else{
port <- as.integer(sample(3000:49000, 1))
}

x <- callr::r_bg(function(x, y){shiny::runApp(x, port = y)}, args = list(sa , port))
viewer(paste0("http://localhost:",port,"/"))
return(invisible(x))
}

cat("\nThis is designed for RStudio\n")

return(invisible(0))

}

然后

x <- runApp_nb(shinyApp(ui = ui, server = server))

手术后终于

x$kill_tree()

关于rstudioapi::viewer 编程删除选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60226221/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com