2015-04-26 2 views
0

Я не могу получить «random_comment», «best» или «худшие» данные, которые появляются, когда я запускаю приложение Shiny. Может кто-нибудь указать мне в правильном направлении?Блестящие множественные выходы

Мой ui.R файл

# This Shiny app will allow users to upvote/downvote my teaching evaluation 
# comments on the basis of how "useful" each comment is 

library(shiny) 

shinyUI(fluidPage(
    headerPanel("Rate my Teaching Evaluations!"), 

    mainPanel(
    h4("The current comment:"), 
    random_comment, 

    tabsetPanel(
     tabPanel("About", 
       "...", 
       paste("Currently there are", m, "comments in the dataset.", sep = " ") 
       ), 
     tabPanel("Most Useful Evaluations", tableOutput("best")), 
     tabPanel("Least Useful Evaluations", tableOutput("worst"))  
    )  
    ) 
)) 

и мой файл server.R является

library(shiny) 

shinyServer(
    function(input, output){ 
    studentsSay <- readLines("studentsSay.txt") 
    output$m <- length(studentsSay) 

    evalDF <- data.frame(studentsSay, rep(0,m)) 
    colnames(evalDF) <- c("comments", "rating") 

    output$random_comment <- as.character(evalDF[ sample(1:m, 1), "comments"]) 

    output$best <- renderTable({head(evalDF[ order(evalDF$rating), "comments" ])}) 
    output$worst <- renderTable({tail(evalDF[ order(evalDF$rating), "comments" ])}) 

    } 
) 

Я попробовал некоторые из реактивных функций, таких как renderText и renderTable, но я до сих пор не видя выходы.

ответ

1

В ui.R файл, который вы должны использовать:

textOutput({"random_comment"}) 

и

textOutput({"m"}) 

В server.R, вам нужно renderText functon:

output$m <- renderText(length(studentsSay)) 

и

renderText(as.character(evalDF[ sample(1:m, 1), "comments"])) 

Вы можете проверить Shiny tutorial (Display reactive output) для получения дополнительной информации.

Смежные вопросы