我正在寻找一种方法来实现我的shinyUI元素的禁用/ abling功能.这里 xiaodaigh给出了一个提示如何禁用/能够actionButton(见下图),这是我想要的结果,但是代码并没有使用我测试的其他gui元素(例如numericInput).
(我知道一个conditionalPanel功能,但这不是我想要的效果.)
我非常感谢任何建议,特别是因为我不太熟悉JavaScript.

我需要在我的Shiny应用程序中包含一个js库.目前我使用includeHTML将脚本直接包含在html代码中.例如
includeHTML('URL.js')
Run Code Online (Sandbox Code Playgroud)
当我尝试浏览js文件时,浏览器将显示"Not Found",如果我使用tags $ script,例如
http://127.0.0.1:7106/URL.js
tags$script(src = 'URL.js')
Run Code Online (Sandbox Code Playgroud)
现在我把URL.js放在ui.r和server.r的同一个文件夹中.
我应该在哪里存储URL.js文件?或者还有其他方法来包含js文件?
谢谢你的任何建议.
我有一个复杂的Shiny应用程序,分布在多个文件中,使用来自多个软件包的代码.该应用程序在R Studio中本地运行时有效,但在我的服务器上它会抛出一般错误:
错误:不知道如何将'x'转换为类"Date"
这可能是一个简单的编程错误,但确定错误在代码中的确切位置证明是困难的.
我怎样才能找到并修复Shiny应用程序中的错误来源?有哪些工具可以系统地完成这项工作?
对Google网上论坛存在类似问题的一些讨论.
如果用户点击特定内容,是否可以执行操作tabPanel?
例如,如果用户点击tabPanel("A", ...)然后显示弹出说法You are viewing tab "A".
我想在我闪亮的应用程序中实现"重置输入"按钮.
这是一个只有两个输入的例子,我正在使用更新函数将值设置回默认值:
library(shiny)
runApp(list(
ui = pageWithSidebar(
headerPanel("'Reset inputs' button example"),
sidebarPanel(
numericInput("mynumber", "Enter a number", 20),
textInput("mytext", "Enter a text", "test"),
tags$hr(),
actionButton("reset_input", "Reset inputs")
),
mainPanel(
h4("Summary"),
verbatimTextOutput("summary")
)
),
server = function(input, output, session) {
output$summary <- renderText({
return(paste(input$mytext, input$mynumber))
})
observe({
input$reset_input
updateNumericInput(session, "mynumber", value = 20)
updateTextInput(session, "mytext", value = "test")
})
}
))
Run Code Online (Sandbox Code Playgroud)
我想知道的是,是否还有一个功能可以将所有内容设置为默认值?这在多个输入的情况下将是有用的.
另外,我不确定我是否使用了observe功能来检测动作按钮何时被击中是处理动作按钮的"正确方法"?
在我的shiny应用我使用datatable功能从DT库来构建一个表,要对齐的中心柱.我可以使用,formatStyle('column', textAlign = 'center')但它只影响列体而不影响标题.
当我运行时出现以下错误shiny:
Error: Graphics API version mismatch
Listening on http://127.0.0.1:3774
Warning: Error in Cairo: Graphics API version mismatch
[No stack trace available]
Run Code Online (Sandbox Code Playgroud)
知道如何解决它。
我的会话信息如下:
sessionInfo()
R version 4.1.1 (2021-08-10)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 20.04.2 LTS
Matrix products: default
BLAS: /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.9.0
LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.9.0
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
[5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=en_US.UTF-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods
[7] base
other attached packages:
[1] …Run Code Online (Sandbox Code Playgroud) 我使用下面的代码在server.R主面板中显示文本.这正是它应该工作的方式.
output$text1 <- renderText({
if(input$ag == 0) return(NULL)
return('First 20 rows for requested AG')
})
Run Code Online (Sandbox Code Playgroud)
有没有办法改变文字的字体和颜色?
我的闪亮应用程序允许用户使用fileInput上传csv 并存储为反应对象df_data.然后,我为用户创建了一个numericInput,用于输入要从数据框中删除的行号.但是,我得到一个关于嵌套太深的评估的错误:无限递归/选项(表达式=)?.
下面是我的ui.R代码.
shinyUI(fluidPage(
titlePanel("amend data frame"),
mainPanel(
fileInput("file", "Upload file"),
numericInput("Delete", "Delete row:", 1, step = 1),
actionButton("Go", "Delete!"),
tableOutput("df_data")
)
))
Run Code Online (Sandbox Code Playgroud)
以下是我的server.R代码.
shinyServer(function(input, output) {
df_data <- reactive({
read.csv(input$file$datapath)
})
df_data <- eventReactive(
input$Go,
df_data()[-input$Delete,]
)
output$df_data <- renderTable(df_data())
})
Run Code Online (Sandbox Code Playgroud)
我已经通过将子集化数据帧分配给称为df_data2的新的反应数据帧来解决了这个问题.但我想让用户通过在Delete行中输入值并按Go按钮来继续删除不同的行.然后这个解决方案将无法工作,因为我将不得不分配df_data3,df_data4 ...我无法提前预测用户按下Go按钮的次数.
我是一个闪亮约2周的新用户,我一直在寻找解决方案一周.有没有人可以帮助我?一百万谢谢!!
我正在尝试将操作按钮的颜色从灰色更改为橙色.
actionButton("run","Run Analysis")
Run Code Online (Sandbox Code Playgroud)
(这是server.R.)是否可以改变它的颜色?