我正在学习如何使用闪亮代理来部署 R 闪亮应用程序,但我不知道将.Renviron包含用于访问数据库的全局变量的文件放置在哪里。
docker 镜像构建时没有任何错误,但是当我使用以下命令启动容器时:
docker run -it -p 3838:3838 shinyproxy-template .
Run Code Online (Sandbox Code Playgroud)
它在文件中找不到 env 变量.Renviron,并且最终在需要全局变量的 R 代码部分出现错误。
我当前的文件夹结构如下:
shinyproxy-template/
|- app-folder/
|- .gitignore
|- Dockerfile
|- README.md
|- app.Rproj
|- Rprofile.site
|- .Renviron
Run Code Online (Sandbox Code Playgroud)
我尝试将.Renviron文件放入然后app-folder/再次构建 Docker 映像,但全局变量仍然无法访问。
我应该将其放置在哪里.Renviron以便应用程序可以访问全局变量?
这就是我想要的结果:
library(lubridate)
res <- structure(
c(
16160, 16251, 16343, 16435, 16525, 16616, 16708,
16800, 16891, 16982, 17074, 17166, 17256, 17347, 17439, 17531,
17621, 17712, 17804, 17896, 17986, 18077, 18169, 18261, 18352,
18443, 18535, 18627, 18717, 18808, 18900
),
class = "Date"
)
res
#> [1] "2014-03-31" "2014-06-30" "2014-09-30" "2014-12-31" "2015-03-31"
#> [6] "2015-06-30" "2015-09-30" "2015-12-31" "2016-03-31" "2016-06-30"
#> [11] "2016-09-30" "2016-12-31" "2017-03-31" "2017-06-30" "2017-09-30"
#> [16] "2017-12-31" "2018-03-31" "2018-06-30" "2018-09-30" "2018-12-31"
#> [21] "2019-03-31" "2019-06-30" "2019-09-30" "2019-12-31" "2020-03-31"
#> [26] …Run Code Online (Sandbox Code Playgroud) 假设我有这个DT和ID下面的:
library(data.table)
DT <- data.table(
ID = c("b","b","b","a","a","c"),
a = 1:6,
b = 7:12,
c = 13:18
)
ID <- "b"
Run Code Online (Sandbox Code Playgroud)
DT
#> ID a b c
#> 1: b 1 7 13
#> 2: b 2 8 14
#> 3: b 3 9 15
#> 4: a 4 10 16
#> 5: a 5 11 17
#> 6: c 6 12 18
Run Code Online (Sandbox Code Playgroud)
是否有{data.table}相当于 的{dplyr}:
DT |> dplyr::filter(ID == !!ID)
#> ID …Run Code Online (Sandbox Code Playgroud)