gpt4 book ai didi

r - 使用用户导入的数据生成 R 脚本

转载 作者:行者123 更新时间:2023-12-02 09:04:51 27 4
gpt4 key购买 nike

我目前正在开发一个 Shiny 应用程序,它允许用户导入数据集,对其进行分析,然后显示结果。我希望用户能够下载用于执行计算的 R 脚本,以实现可重复性。为了做到这一点,我想将导入的数据集直接打印到脚本中,这就是我的想法:

library(shiny)

df <- data.frame("time" = c(0,1,2,3), "conc" = c(0,0.1,0.2,0.3))

ui <- fixedPage(

fixedRow(
downloadButton("download_button", label = "Download")
)
)

server <- function(input, output, session){

output$download_button <- downloadHandler(
filename = function(){
paste0("script_", Sys.Date(), ".R")
},
content = function(file) {
writeLines(paste("df <- ", df), file)

}
)
}

shinyApp(ui,server)

问题是结果文件如下所示:

df <-  c(0, 1, 2, 3)
df <- c(0, 0.1, 0.2, 0.3)

我希望它看起来像这样(或者至少类似):

df <- data.frame("time" = c(0,1,2,3), "conc" = c(0,0.1,0.2,0.3))

这可能吗?

感谢您的宝贵时间。

最佳答案

writelines函数中使用capture.ouput(dput(df))

  writeLines(paste("df <- ", capture.output(dput(df))), file, sep = "\n")

它将在 Rscript 中生成此内容

df <- 结构(列表(时间 = c(0, 1, 2, 3), conc = c(0, 0.1, 0.2, 0.3df <- )), class = "data.frame", row.names = c(NA, -4L))

关于r - 使用用户导入的数据生成 R 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59810602/

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