在开发我的第一个Shiny App时,我一直在努力解决问题。 我有2个滑块的应用程序。用户可以从其中一个称为“ probability_threshold”的值中选择一个值,我稍后将使用该值对数据帧进行子集化。然后,创建一个矩阵,该矩阵具有与该子集相同的行数,并且我想用子集的“得分”列填充该矩阵的第一列。 然后,我将遍历矩阵列以完全填充矩阵。 但是,当我尝试将“得分”列分配给矩阵的第一列时,出现以下错误消息:
Error in individual_ltv_pa()[, 1] <- reactive({ :
invalid (NULL) left side of assignment
这是我的代码:
first_pct <- read.csv('first_pct.csv')
results <- read.csv('results.csv')
num_period <- length(first_pct)
library(shiny)
library(dplyr)
# Define UI for application
ui <- fluidPage(
# Application title
titlePanel("Switching to PA campaign results"),
# Sidebar with a slider input for number of bins
sidebarLayout(
sidebarPanel(
sliderInput("probability_threshold",
"Sensitivity",
min = 0,
max = 1,
value = 0.7),
sliderInput("discount_rate",
label = 'Discount rate',
min = 0,
max = 1,
value = 0.1)
),
# Show a plot of the generated distribution
mainPanel(
tabsetPanel(
tabPanel('Discounted Cumulated Revenues'),
tabPanel('Discounted Yearly Revenues'),
tabPanel('Data')
)
)
)
)
# Define server
server <- function(input, output) {
gonna_switch <- reactive({
results[results$prob >= input$probability_threshold, c('contact_id', 'score')]
})
individual_ltv_pa <- reactive({
matrix(nrow = nrow(gonna_switch()), ncol = 13)
})
individual_ltv_pa()[, 1] <- reactive({ gonna_switch()$score })
}
# Run the application
shinyApp(ui = ui, server = server)
我对自己的分析感到高兴,此应用程序非常适合将其呈现给其他人,因此我真的想修复它。
非常感谢您的帮助!