[英]Check box in shiny
我想創建一個閃亮的復選框,使我可以將輸入變量之一的符號從正更改為負
來自輸入:
sidebarLayout(
sidebarPanel(
numericInput(inputId = "CE",
label = "...:",
min = 0,
max = 1,
value = 0.001),
checkboxInput("CHECKBOX","Checkbox", FALSE),
....
server <- function(input, output)
output$Power_dropM <- renderText({
if(input$CHECKBOX=TRUE) {
bzc <- -(sqrt(abs(input$CE)) * sign(input$CE))
bzm <- sqrt(abs(input$ME)) * sign(input$ME)
}else{
bzc <- sqrt(abs(input$CE)) * sign(input$CE)
bzm <- sqrt(abs(input$ME)) * sign(input$ME)
}
生成的這些數字將在以后使用,因此我希望命名保持不變,只是通過選中復選框來更改符號。
這段代碼不過給我一個錯誤:
Error in parse(file, keep.source = FALSE, srcfile = src, encoding = enc) :
C:/Users/ghmoen/Documents/SEM/ShinyApp210618.R:76:22: unexpected '='
75:
76: if(input$CHECKBOX=
^
Error in sourceUTF8(fullpath, envir = new.env(parent = globalenv())) :
Error sourcing C:\Users\ghmoen\AppData\Local\Temp\Rtmp2T3R18\file57b0565138b6
在這種情況下,您的錯誤是由if(input$CHECKBOX=TRUE)
。 要檢查是否相等,您需要使用double =
,所以if(input$CHECKBOX==TRUE)
。 在這種情況下,甚至可以簡化為if(input$CHECKBOX)
,因為您的變量是布爾值。
順便說一句,一種稍微簡單的更改符號的方法可能是向變量添加+1
或-1
的乘數。 例如,僅更改符號,您可以執行以下操作:
library(shiny)
# Create ui
ui <- fluidPage(
numericInput('bzc','bzc',value=2),
numericInput('bzm','bzm',value=2),
checkboxInput('change_sign','Change sign'),
textOutput('text')
)
server <- function(input, output) {
output$text <- renderText({
bzc = ifelse(input$change_sign,-1,1) * input$bzc
bzm = input$bzm
paste0('bzc: ', bzc, ', bzm: ', bzm)
})
}
shinyApp(ui = ui, server = server)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.