gpt4 book ai didi

r - server.R 未定义的列?

转载 作者:行者123 更新时间:2023-12-04 09:52:49 26 4
gpt4 key购买 nike

我正在尝试创建一个 R Shiny 应用程序,但遇到了错误:

Error in `[.data.frame`(dataset.temp, , input$col) : 
undefined columns selected

不知道是什么原因造成的,希望有人能帮我解决一下。这是一个示例代码:

用户界面
shinyUI(fluidPage(
titlePanel("Data"),
sidebarLayout(
sidebarPanel(
textInput("from","Missing",
value="Enter characters"),
textInput("to","Missing",
value="Enter characters"),
selectInput("col","Select Column",
choices = c(1:6),
selected=1)),
mainPanel(
tableOutput('contents')
)
)
))

服务器
library(DT)
file <- read.csv("file.csv")
shinyServer(function(input, output) {
dataset.temp <- file
output$contents <- renderTable({
dataset.temp[,input$col] <- gsub(input$from,input$to,dataset.temp[,input$col])
dataset.temp
})
})

有什么想法吗?

最佳答案

我在运行您的代码时遇到了不同的错误:

Error in `[.data.frame`(dataset.temp, , input$col) : 
undefined columns selected

原因(至少对于我的错误)是 input$col是一个字符串,您将其视为整数。有两种可能的修复方法:
  • 更改您的 selectInputnumericInput ,这意味着现在 input$col返回一个整数,或
  • 手动转换 input$col到一个整数 col <- as.integer(input$col)

  • 使用第二种方法,这里是完整的代码。
    runApp(shinyApp(
    ui = fluidPage(
    titlePanel("Data"),
    sidebarLayout(
    sidebarPanel(
    textInput("from","Missing",
    value="Enter characters"),
    textInput("to","Missing",
    value="Enter characters"),
    selectInput("col","Select Column",
    choices = c(1:6),
    selected=1)),
    mainPanel(
    tableOutput('contents')
    )
    )
    ),
    server = function(input, output) {
    dataset.temp <- file
    output$contents <- renderTable({
    col <- as.integer(input$col)
    dataset.temp[,col] <- gsub(input$from, input$to,dataset.temp[,col])
    dataset.temp
    })
    }

    ))

    我不知道你使用的是什么文件,所以我只使用了我自己的 csv 文件并且它有效

    关于r - server.R 未定义的列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30495458/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com