我正在RMarkdown中构建一个依赖于用户生成的密码的应用程序:
library(getPass)
pw <- getPass(msg = "Enter the Password, please!")
当我在R控制台中以交互方式运行所有代码时,getPass函数会暂停代码并提供一个弹出窗口,用户可以在其中输入密码。
但是,在RMarkdown中包含此代码时,编织过程不会因getPass停止工作而暂停。结果,代码在没有密码的情况下运行。在这种情况下,它会阻止应用程序连接到受密码保护的数据库。
您是否有人建议如何解决此问题?我搜索过类似的问题,但如果这是重复的话,那么我很抱歉。谢谢!
答案 0 :(得分:0)
在stated in comment中使用parameterized report。
您的rmarkdown应该如下所示:
---
output: html_document
params:
pwd:
label: "Enter the Password, please!"
value: ""
input: password
---
Your password is `r params$pwd`
现在要么运行
rmarkdown::render("test.Rmd", params="ask")
或使用RStudio按钮“带有参数的编织器”: