r-系统信息()未显示在仪表板主体框中



我试图在一个盒子((中显示Sys.info((的输出,但它只显示一个词"Darwin"。

如果我做str(Sys.info()),我会得到

Named chr [1:8] "Darwin" "15.5.0" ...
 - attr(*, "names")= chr [1:8] "sysname" "release" "version" "nodename" ...

那么,我如何将其显示为框中的文本块呢?应该在服务器代码中调用它并显示在textOutput中吗?

这是位于ui.R中的dashboardBody代码块,它位于一个闪亮的UI(dashboardPage(…((中:

dashboardBody(
    fluidRow(
        box(
            title = "Time and Date", 
            status = "primary", 
            solidHeader = TRUE, width = 4,
            "Time: ", Sys.time(), br(),
            "Date: ", Sys.Date(), br(),
            "Time Zone: ", Sys.timezone(), br(),
            Sys.info(), br()
        )
    )
)

服务器。R只是空的:

shinyServer(function(input, output) {
})

您看到警告了吗?

charToRaw中的警告(enc2utf8(文本((:自变量应为长度为1的字符向量除了第一个元素之外的所有元素都将被忽略

使用这个替代:

library(shiny)
library(shinydashboard)
ui <- dashboardPage(
    dashboardHeader(),
    dashboardSidebar(),
    dashboardBody(
        box(textOutput("sys_info")),
        box(tableOutput("sys_info2"))
    )
)
server <- function(input, output) {

    output$sys_info <- renderText({
        a <- Sys.info()
        a
    })
    output$sys_info2 <- renderTable({
        a <- data.frame(Sys.info())
        a
    })
}
shinyApp(ui, server)

最新更新