我想使用selectInput从数据框的2列中选择值。我使用名为KenPomeroyAnalysis.R的文件创建数据框。我将数据框存储在一个名为pom。
的变量中library(XML)
library(dplyr)
# Parse Kenpom Data -------------------------------------------------------
pom <- "http://kenpom.com/" %>%
readHTMLTable() %>%
data.frame()
#columns to keep
vars <- c(2,5,6,8,10)
pom <- pom[,vars]
#change name of columns
names(pom) <- c("Team","Pyth","AdjO","AdjD","AdjT")
#make rows numeric
pom <- data.frame(pom$Team, sapply(pom[,c("Pyth","AdjO","AdjD","AdjT")], function(x) as.numeric(as.character(x))))
names(pom)[1] <- "Team"
#Delete rows with NAs
pom <- na.omit(pom)
#remove everything but the data set
rm(list=setdiff(ls(), "pom"))
我想创建2个不同的selectInput框来选择pom $ Team。第一个selectInput用于选择&#34; home_team&#34;另一个用于选择&#34; away_team&#34;。
library(shiny)
#Define UI for application
shinyUI(fluidPage(
#Application Title
titlePanel("Ken Pomeroy Single Game Predictions"),
fluidRow(
selectInput("home_team",label="Home Team", choices=pom$Team),
selectInput("away_team",label="Away Team", choices=pom$Team)
),
mainPanel(
textOutput("text1")
)
))
我的server.R文件是我尝试运行KenPomeroyAnalysis.R文件的地方,因此我可以让pom数据框与之交互。
library(shiny)
source("KenPomeroyAnalysis.R")
shinyServer(function(input, output){
output$text1 <- renderText({
paste(input$home_team,"@",input$away_team)
})
})
然而,当我尝试运行App时,我收到一条错误说:
ERROR: object 'pom' not found
这使得看起来server.R文件不是首先从KenPomeroyAnalysis.R文件创建数据框pom。有什么建议吗?
答案 0 :(得分:0)
您可以创建一个更全局的脚本.R可以在其中获取文件&#34; KenPomeroyAnalysis.R&#34;,这样它可以被server.R和ui.R访问。在您的情况下,它只能由server.R。
访问