【发布时间】:2018-02-08 15:19:01
【问题描述】:
在将新列添加到反应式之前,我已经尝试了所有方法来定义新列,但它仍然给我一个错误。在我进入闪亮格式之前它工作得很好
#library(shiny)
ui <- fluidPage( "PROJECT REKT ( CDI TOOL)" , selectInput( inputId ="State" , label = "Choose your client's state", c( "AK","AL","AZ",
"AR", "CA", "CO", "CT", "DE", "FL", "GA",
"HI", "ID", "IL", "IN", "IA", "KS", "KY",
"LA", "ME", "MD", "MA", "MI", "MN", "MS",
"MO", "MT", "NE", "NV", "NH", "NJ", "NM",
"NY", 'NC', 'ND', 'OH', 'OK', 'OR', "PA",
"RI", "SC", "SD", "TN", "TX", "UT", "VT",
"VA", "WA", "WV", "WI", "WY"), multiple = FALSE, selectize=TRUE , width = NULL , size = NULL)
)
server <- function(input, output) {
data2 = renderTable(National_data[National_data$state == input$State,])
#data2$captureRate = NULL
# Summarize the data by each acuity group ( like aa pivot table), uset SetNames to rename columns
#data3 = cast(data2 , num_is_wo + num_is_cc + num_is_mcc ~ acuity_group, mean)
data4 = reactive(
setNames (aggregate(list(data2()$num_is_cc , data2()$num_is_mcc, data2()$num_is_wo), by=list(data2()$acuity_group), FUN=sum, na.rm=TRUE) , c ("acuity_group","cc","mcc", "wo"))
)
# Find the capture rate for each row element
data4$captureRate = NULL
data4$captureRate = reactive(
(data4()$cc + data4()$mcc) / (data4()$wo + data4()$cc + data4()$mcc)
)
State_BM_CaptureRate = reactive (
mean(data4()$captureRate, na.rm = TRUE)
)
Output$bencmark = State_BM_CaptureRate
}
shinyApp(ui = ui, server = server)
这会导致
Listening on http://127.0.0.1:7136
Warning: Error in =: object of type 'closure' is not subsettable
Stack trace (innermost first):
45: server [#16]
4: <Anonymous>
3: do.call
2: print.shiny.appobj
1: <Promise>
Error in data4$captureRate = NULL :
object of type 'closure' is not subsettable
【问题讨论】:
-
欢迎来到 SO。请访问stackoverflow.com/help 以更好地提出您的问题,以便其他人可以提供适当的帮助。在您上面的示例中,通过查看您收到的错误消息,您必须了解
reactive变量作为function访问。所以,试试output$bencmark = State_BM_CaptureRate()。 -
您也可以参考stackoverflow.com/q/40623749/8382207 以获取有关此错误的更多信息。