Я боролся с проблемой при разработке моего первого Shiny App.У меня есть приложение с 2 ползунками.Из одного из них, называемого 'threshold_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)
Я отчасти рад своему анализу, и это приложение было бы идеальным, чтобы представить его другим, поэтому я действительно хочу это исправить.
Большое спасибо за вашу помощь!