本项目的目的是在参与者一天填写几次问卷后,对他们的日常结果呈现出好看的视觉效果。
我决定使用R来计算数据,使用Rmarkdown来获得可视化。这一切都应该发生在树莓派。我使用一个PHP文件在webserver (Raspberry)上创建一个.csv文件(其中包含参与者的问卷调查数据)。这个PHP文件还应该运行一个Rscript,然后运行rmarkdown命令,如下所示:
rmarkdown::render(input = "Testplot.Rmd", output_file = paste0("results_", ID, ".html"), params = (list(ID = ID)))因此,如果我手动(通过SSH)运行Rscript,那么一切都会按原样运行,results_ID.html就会正确生成。
现在的问题是:如果参与者填写问卷并提交数据,则PHP使用exec("Rscript /var/www/html/cmdRmd.R, $ID")运行Rscript,而我总是收到Pandoc生成的错误消息:
with_pandoc_safe_environment(system(paste(shQuote(path),“--version”中的
错误),:在运行之前必须设置'HOME‘环境变量。电话:..。-> get_pandoc_version -> with_pandoc_safe_environment。执行暂停
我的猜测是,这与apache的www数据用户有关(在通过问卷调查提交数据时将使用它)。但我不知道如何为www-data用户设置一个“HOME”环境变量。
有谁知道如何解决这个问题吗?
发布于 2021-08-07 15:59:27
您可以像Sys.setenv(HOME="/home/YOURHOME/"一样在R中设置您的环境。确保它与您的shell中的echo $HOME相对应。
https://stackoverflow.com/questions/59601370
复制相似问题