0
#install.packages("shinythemes")
#install.packages("shinyjs")
install.packages("DT")
install.packages("reshape2")
library(shiny)
library(shinythemes)
library(shinyjs)
library(DT)
library(reshape2)
data <- read.csv("C:/Users/Kanchan/Desktop/timeforcompletion.csv")
server <- function(input, output, session) {
dat <- reactive ({
row1 <- row.names (data[data$Chromosomes == input$select &
data$Data.per.chromosomes == input$select1 &
data$CPU.worker == input$select2,])
row1 <- as.numeric(row1)
out1 <- data$Num.of.workers[row1]
out2 <- data$Time.to.complete..Mins.[row1]
val <- data.frame(Name = c("Num of workers","Time.to.complete..Mins."), Value = c(out1,out2)
,stringsAsFactors = FALSE)
#require(reshape2)
#melt(val)
return(val)
})
output$mytable <- DT::renderDataTable(dat())
}
ui <- fluidPage(theme = shinytheme("cosmo"),
shinyjs::inlineCSS(list(body = "color:DarkBlue")),
titlePanel("WQ-MAKER"),
sidebarLayout(
sidebarPanel(
"Sidebar"
), #endsidebarpanel
mainPanel(
selectInput("select", label = h3("Chromosomes"),
choices = list("12" = 1, "24" = 2),
selected = 1),
selectInput("select1", label = h3("Data per chromosomes"),
choices = list("100000" = 1, "200000" = 2, "1000000" = 3),
selected = 1),
selectInput("select2", label = h3("CPU per worker"),
choices = list("4" = 1),
selected = 1),
#textOutput("text1")
hr(),
DT::dataTableOutput("mytable")
)#end mainpanel
)# end sidebarlayout
)
shinyApp(ui = ui, server = server)
는 입력 데이터 세트는 다음과 같습니다반짝 응용 프로그램 : 경고 : data.frame 오류 : 행의 인수가 서로 다른 의미 수 : 2, 0
Chromosomes Data per chromosomes CPU/worker Num of workers Time to complete (Mins)
12 100000 4 3 16.8333
24 100000 4 3 23.4167
12 200000 4 3 23.1333
12 1000000 4 3 54.7667
12 1000000 4 7 17.5444
내가 문제가 출력 $ 함께 이해 mytable. 2 개의 값을 표시하는 출력을 반환하도록 코드를 수정하도록 도와주십시오. 노동자의
민은 : 완료 시간 : XXX XXXX
첫 번째 문제는 당신dat
함수가 값을 기준으로 데이터 프레임을 필터링되어 있지만
selectInput
선택을하지 않는 임의의 인덱스에 연결되는 것 같다
여기에 반짝이는 응용 프로그램을 디버깅하는 좋은 기사가 있습니다. 참고로, 나는 이것을 평범한'cat()'으로 디버깅했다. http://shiny.rstudio.com/articles/debugging.html – Teajay
Thanks T.J :) 앱이 이제는 제대로 작동하며 디버깅 팁 문서가 매우 멋지다. –
@ KanchanSonthalia 위대한 분! 이 경우이 대답의 왼쪽에있는 녹색 체크 표시를 클릭하여 동의를하면 평판 포인트를 얻습니다. – Teajay