1

ユーザーが定義した入力を指定して、データセットのいくつかの行を選択したいと思います。この場合、フィールド内のさまざまな位置に応じて、さまざまな分類ツリーを実行したいと考えています。ツリーを実行するフィールド位置を選択できるメニューを展開する Shiny R に selectInput() があります。ただし、現時点では、すべてのポジションに対してのみ実行され、各ポジションに対して個別に実行されるわけではありません。ユーザーの選択に応じてデータセットを切り替える方法について、助けていただければ幸いです。

サーバー.R

library(shiny)
library("rpart")
library("party")
library("partykit")

setwd("~/UNIVERSIDAD/EUR/Block 2/Machine Learning/Shiny App Both")
dat <- read.csv("Voetballers.csv")
dat <- dat[,3:20]


shinyServer(function(input, output, session) {

 observe({
    if(input$position=="All"){
     dat <- dat
    }
   else if(input$position=="Forward"){
     dat <- dat[dat$Position=="Forward",]
   }
   else if(input$position=="Midfielder"){
     dat <- dat[dat$Position=="Midfielder",]
   }
   else if(input$position=="Defender"){
     dat <- dat[dat$Position=="Defender",]
   }
   else if(input$position=="Goalkeeper"){
     dat <- dat[dat$Position=="Goalkeeper",]
   }
  })

  output$independent <- renderUI({
    checkboxGroupInput("independent", "Independent Variables:",names(dat)[!names(dat) %in% input$dependent],names(dat)[!names(dat) %in% input$dependent])
  })


runRegression <- reactive({
  ctree(as.formula(paste(input$dependent," ~ ",paste(input$independent,collapse="+"))),data=dat)
})
runRegression2 <- reactive({
  rpart(as.formula(paste(input$dependent," ~ ",paste(input$independent,collapse="+"))),data=dat)
})
output$plot1 <- renderPlot({
  plot(runRegression())})
output$plot2 <- renderPlot({
  plot(as.party(runRegression2()))})

})
4

0 に答える 0