server.R 未定义的列?
server.R undefined columns?
我正在尝试创建 R Shiny 应用程序并遇到错误:
Error in `[.data.frame`(dataset.temp, , input$col) :
undefined columns selected
我不确定是什么原因造成的,希望有人能帮我弄清楚。这是示例代码:
ui.R
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')
)
)
))
server.R
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
是一个字符串,而您将其视为一个整数。有两种可能的修复方法:
- 将您的
selectInput
更改为 numericInput
,这意味着现在 input$col
returns 是一个整数,或者
- 手动将
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 Shiny 应用程序并遇到错误:
Error in `[.data.frame`(dataset.temp, , input$col) :
undefined columns selected
我不确定是什么原因造成的,希望有人能帮我弄清楚。这是示例代码:
ui.R
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')
)
)
))
server.R
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
是一个字符串,而您将其视为一个整数。有两种可能的修复方法:
- 将您的
selectInput
更改为numericInput
,这意味着现在input$col
returns 是一个整数,或者 - 手动将
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 文件,它可以工作