【发布时间】:2022-01-19 11:04:30
【问题描述】:
谁能给我一个建议,请问我该怎么办?我试图“根据用户选择更改可变数据类型”。看起来一切正常,但我不知道如何将修改后的数据集用于未来的工作。我在那里粘贴我的服务器的代码。
现在,当我更改变量类型时,我想使用修改后的 df1。我收到“消息(“它正在工作”);“如果我使用 char 变量并将其更改为因子。例如,如果我选择 char 变量并尝试将其转换为数字,我会收到警告“观察()中的警告:强制引入的 NA”,这意味着该代码有效(在我看来)。但是,如果我想使用修改后的 df1(),我必须做什么。如何“保存”这种变化?
编辑的服务器
df1 <- reactive({
req(input$file1)
df <- read.csv(input$file1$datapath,
header = input$header,
sep = input$sep,
quote = input$quote)
df
})
colnames <- reactive({ names(df1()) })
observeEvent(df1(), {
updateCheckboxGroupInput(session, "class_var",
label = "Select Columns",
choices = colnames(),
selected = "")
})
## update when selection changes
# storing the selected variable from the variables list table
table.sel <- reactive({
df1()[,which(colnames(df1()) == col.name()[input$class_var,1])]
})
modified_df1 = eventReactive(input$chg_class,{
if( input$choose_class == "Numeric"){
df1 <- as.numeric(df1()[, input$class_var])
} else if(input$choose_class == "Factor"){ message("it's working");
df1 <- as.factor(df1()[, input$class_var])
} else if( input$choose_class == "Character"){
df1 <- as.character(df1()[, input$class_var])
} else if( input$choose_class == "Date"){
df1 <- as.Date(df1()[, input$class_var])
}
})
现在,当我更改变量类型时,我想使用修改后的 df1。我收到“消息(“它正在工作”);“如果我使用 char 变量并将其更改为因子。例如,如果我选择 char 变量并尝试将其转换为数字,我会收到警告“观察()中的警告:强制引入的 NA”,这意味着该代码有效(在我看来)。但是,如果我想使用修改后的 df1(),我必须做什么。如何“保存”这种变化?
【问题讨论】:
标签: shiny shinydashboard shiny-server shiny-reactivity