我正在尝试向我的 Shiny 应用程序添加“保存输入”功能,其中保存的输入将保存在 DT 数据表中。如果用户单击“添加”按钮,则输入将附加到数据表中。然后,用户可以通过选择一行并单击“删除”按钮从该数据表中删除一行。我还需要将此表的值保存为全局变量,以便它在所有会话中保持持久性。
示例代码如下所示。当我关闭会话时,表 ( this_table) 会正确更新,但是,这些更改不会在应用程序期间实时显示。我试过将这两个输入按钮放在一个eventReactive函数中,但是当其中一个按钮被多次选择时,这不起作用。
有任何想法吗?
全局表:
this_table = data.frame(bins = c(30, 50), cb = c(T, F))
闪亮的应用程序代码:
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
sliderInput("bins",
"Number of bins:",
min = 1,
max = 50,
value = 30),
checkboxInput("cb", "T/F"),
actionButton("add_btn", "Add"),
actionButton("delete_btn", "Delete")
),
mainPanel(
DTOutput("shiny_table")
)
)
)
server <- function(input, output) {
observeEvent(input$add_btn, {
t = rbind(data.frame(bins = input$bins,
cb = input$cb), this_table)
this_table <<- t
})
observeEvent(input$delete_btn, …Run Code Online (Sandbox Code Playgroud) 我目前正在尝试构建一个大型 Docker 映像并从中运行一个闪亮的应用程序,以便最终可以将其部署到 Unix 服务器。镜像构建成功;但是,当我去运行图像时,应用程序会运行并完全忽略指定的端口。
更奇怪的是,我首先构建了一个小型测试应用程序,并且这篇 SO 帖子(Shiny app docker 容器未在浏览器中加载)中的说明有效。我将测试应用程序中使用的相同样式复制到另一个 Shiny 应用程序中,但现在它不起作用。
我的 Docker 镜像的结构与 ShinyProxy 在其 Github 页面上使用的结构类似: https: //github.com/openanalytics/shinyproxy-template:
|-- Dockerfile
|-- Rprofile.site
|-- app_stuff
|-- app.R
|-- accessory files called from app.R...
Run Code Online (Sandbox Code Playgroud)
我的Dockerfile如下:
# Install R version 3.5.1
FROM r-base:3.5.1
# system libraries of general use - I don't know if these are right ????
RUN apt-get update && apt-get install -y \
default-jdk \
libbz2-dev \
zlib1g-dev \
gfortran \ …Run Code Online (Sandbox Code Playgroud) 我试图把一个ggplotly图形与(三大要素geom_point,geom_line和geom_rect),它看起来罚款ggplot2。但是,当我转换为 ggplotly 时,geom_rect 消失了。我在想这与inherit.aes功能有关吗?
构建测试数据的代码如下。
library(ggplot2)
library(plotly)
dates_seq = seq.Date(as.Date("2019-03-13"), as.Date("2019-04-21"), by = "1 day")
df = data.frame(ds = dates_seq,
y = rnorm(length(dates_seq), mean = 50, sd = 5),
yhat = rnorm(length(dates_seq), mean = 50, sd = 5)
)
df$yhat_lower = df$yhat - 5
df$yhat_upper = df$yhat + 5
gg <- ggplot(df, aes(x = ds, y = y)) +
labs(x = 'Date', y = 'Sales') +
geom_ribbon(aes(ymin = …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个函数来检查向量的所有元素是否出现在字符串向量中.测试代码如下:
test_values = c("Alice", "Bob")
test_list = c("Alice,Chris,Mark", "Alice,Bob,Chris", "Alice,Mark,Zach", "Alice,Bob,Mark", "Mark,Bob,Zach", "Alice,Chris,Bob", "Mark,Chris,Zach")
Run Code Online (Sandbox Code Playgroud)
我希望这个输出FALSE TRUE FALSE TRUE FALSE TRUE FALSE.
我首先想到我能够在命令中切换|到当Alice和Bob 都在字符串中而不是当它们中的任何一个出现时,但是我无法得到正确的答案.&grepl(paste(test_values, collapse='|'), test_list)
我也不想使用命令:grepl(test_values[1], test_list) & grepl(test_values[2], test_list)因为test_values向量将动态改变(从长度0到3不等),所以我正在寻找一些可以考虑到这一点的东西.