小编Wol*_*lke的帖子

使用来自checkboxGroupInput的值的conditionalPanel

我想使用checkboxGroupInput然后,如果选中某个框,我想要一个conditionalPanel.这里有一个玩具示例:

shinyUI(fluidPage( 

 sidebarLayout(
  sidebarPanel(
      checkboxGroupInput("items","Which Item?",
          choices=c("A","B","C","D")),
        conditionalPanel( condition = "input.items == 'D'",       
          numericInput("n","n",value=50,min=0,max=100,step=1)
        )
      ),       
      mainPanel(
      uiOutput("text")
     )
 )      
Run Code Online (Sandbox Code Playgroud)

))

现在,如果只选择框"D",这样可以正常工作,但如果选择了几个框(如我的问题中那样正常)则不行.

在server.R之类的东西

 if("D" %in% input$which) 
Run Code Online (Sandbox Code Playgroud)

工作正常,但似乎在ui.R. 例如,我也试过将ala R子集化

  conditionalPanel( condition = "input.items[4] == 'D'",
Run Code Online (Sandbox Code Playgroud)

但这也不起作用.

沃尔夫冈

r shiny

10
推荐指数
1
解决办法
1966
查看次数

如何在选项列表中使用特殊符号作为名称?

以前在这里讨论过如何在ui.R中使用希腊字母.例如,如果想要用户输入参数mu的数值,可以使用:

numericInput("mu",HTML("μ"),value=0)  
Run Code Online (Sandbox Code Playgroud)

并显示μ.我想做同样的事情,但使用selectInput中的选择列表.我试过了:

selectInput("param", label = "Parameter",choices=c("α" = "alpha","beta"))
Run Code Online (Sandbox Code Playgroud)

但这只是显示α.我也尝试过:

selectInput("param", label = "Parameter",choices=c(HTML("α") = "alpha","beta"))
Run Code Online (Sandbox Code Playgroud)

selectInput("param", label = "Parameter",choices=c("HTML("α")" = "alpha","beta"))
Run Code Online (Sandbox Code Playgroud)

但这会产生错误.

r shiny

7
推荐指数
1
解决办法
838
查看次数

R 函数中...的奇怪行为

如果一个函数有一个参数和椭圆并且两者以相同的字母开头,我会遇到奇怪的行为。一个玩具示例是这个

> testfun=function(aa=0, ...) {print(aa); list(...)} 
> testfun(b=1)
[1] 0
$b
[1] 1

> testfun(a=1)
[1] 1
list()
Run Code Online (Sandbox Code Playgroud)

因此,当我调用时testfun(b=1),一切正常,aa打印为 0 并返回元素 b=1 的列表。但是,如果我调用testfun(a=1),aa 现在为 1 并且返回一个空列表。显然,如果有一个参数以与传递给 ... 的字母相同的字母开头,则该参数会发生更改并且...会丢失。

知道这是为什么吗?有什么办法可以避免这种情况吗?在我真正的问题中,...由用户提供,他们可能使用任何名称作为参数(除了那些已经是函数参数的名称,例如这里的 aa )

r user-defined-functions

6
推荐指数
1
解决办法
88
查看次数

如何在光泽中逐个添加图形

我正在尝试为我的stat类做一些演示.除其他事项外,我想展示所涉及的一步一步的过程.有关我正在寻找的简化示例,请考虑以下小玩具R功能:

toyPlot <- function() {
  x <- 1:100/100
  y <- x+rnorm(100,0,0.2)
  plot(x,y)
  Sys.sleep(2)
  abline(lm(y~x))
  Sys.sleep(2) 
  title(main="Fitted Line Plot")
}
Run Code Online (Sandbox Code Playgroud)

它绘制一个散点图,等待两秒钟,添加LSR行,等待两秒钟,然后添加标题.

现在,当我在闪亮的情况下做同样的事情时,等待整整4秒,然后立即完整地完成图表.

我花了一些时间寻找解决方案,并发现了一些看起来很有用的命令(session $ onFlushed,invalidateLater,reactiveTimer),但我不能让他们中的任何一个做我想做的事.

r shiny

5
推荐指数
1
解决办法
1012
查看次数

renderImage中的deleteFile = FALSE无法正常工作

我有一个renderImage的deleteFile = FALSE参数的问题.简而言之,它无论如何都会删除图像文件.

作为一个简短的测试例子,我有ui.R

 library(shiny)              
 shinyUI(fluidPage(
   titlePanel("Testing ..."),  
   sidebarLayout(   
       sidebarPanel(),            
       mainPanel(
          imageOutput("f1")
       )
   )     
 ))
Run Code Online (Sandbox Code Playgroud)

和服务器.R

library(shiny)

shinyServer(function(input, output,session) {

   output$f1 <- renderImage({
      list(src="f1.png", deleteFile = FALSE)
   }) 
})
Run Code Online (Sandbox Code Playgroud)

其中f1.png是一些png图像文件.当我运行它时,它显示图像确定,但也从文件夹中删除它,正是deleteFile = FALSE应该不执行的操作.

我在Win7机器上,以防万一.

沃尔夫冈

补充:我现在找到另一种方法,使用

output$f1 <- renderText({
    HTML("<img src=\"f1.png\">")
})
Run Code Online (Sandbox Code Playgroud)

和uiOutput在ui.R中,这个工作正常,但原始问题仍然存在,为什么闪亮删除图像文件尽管deleteFile = FALSE参数?

沃尔夫冈

r shiny

4
推荐指数
1
解决办法
574
查看次数

标签 统计

r ×5

shiny ×4

user-defined-functions ×1