gpt4 book ai didi

r - “数据”必须是二维的(例如数据框或矩阵)RShiny

转载 作者:行者123 更新时间:2023-12-02 18:47:35 26 4
gpt4 key购买 nike

你好,我正在尝试使用 DT 格式化输出。但是,它显示错误:“数据”必须是二维的(例如数据框或矩阵)。如果有人能提供帮助,我将不胜感激!

下面是从数据结构 (a1) 创建的示例。

data: a1

ind lproof lproofo var1 var2 var3 var4 var5 var6 var7 var8 var9 var10
A001 M G 2.4 0.5 20.3 0.2 2.4 0.5 2.4 0.5 2.4 0.5
A002 D M 2.4 0.5 20.3 0.2 2.4 0.5 2.4 0.5 2.4 0.5
A003 D M 2.4 0.5 20.3 0.2 2.4 0.5 2.4 0.5 2.4 0.5
A004 G M 2.4 0.5 20.3 0.2 2.4 0.5 2.4 0.5 2.4 0.5
A005 M G 2.4 0.5 20.3 0.2 2.4 0.5 2.4 0.5 2.4 0.5
A006 M G 2.4 0.5 20.3 0.2 2.4 0.5 2.4 0.5 2.4 0.5
A007 G D 2.4 0.5 20.3 0.2 2.4 0.5 2.4 0.5 2.4 0.5
A008 M G 2.4 0.5 20.3 0.2 2.4 0.5 2.4 0.5 2.4 0.5
A009 D G 2.4 0.5 20.3 0.2 2.4 0.5 2.4 0.5 2.4 0.5
B001 D G 2.4 0.5 20.3 0.2 2.4 0.5 2.4 0.5 2.4 0.5
B002 M G 2.4 0.5 20.3 0.2 2.4 0.5 2.4 0.5 2.4 0.5
B003 M G 2.4 0.5 20.3 0.2 2.4 0.5 2.4 0.5 2.4 0.5
B004 M D 2.4 0.5 20.3 0.2 2.4 0.5 2.4 0.5 2.4 0.5
B005 M D 2.4 0.5 20.3 0.2 2.4 0.5 2.4 0.5 2.4 0.5
B006 M G 2.4 0.5 20.3 0.2 2.4 0.5 2.4 0.5 2.4 0.5
B007 M G 2.4 0.5 20.3 0.2 2.4 0.5 2.4 0.5 2.4 0.5
B008 M D 2.4 0.5 20.3 0.2 2.4 0.5 2.4 0.5 2.4 0.5
B009 M D 2.4 0.5 20.3 0.2 2.4 0.5 2.4 0.5 2.4 0.5

当我运行数据时,它会导致以下错误: image.png

ui <- dashboardPage(
dashboardHeader(disable = TRUE),
dashboardSidebar(disable = TRUE),
dashboardBody(
fluidPage(

selectInput("lproofo",
label = h3("Evaluación Vieja:"),
choices = c ("All", unique(as.character(a1$lproofo))), selected = "All")
),

selectInput("lproof",
label = h3("Evaluación Nueva:"),
choices = c ("All", unique(as.character(a1$lproof))), selected = "All"),

DTOutput('a1'), style = "overflow-y: scroll;overflow-x: scroll;")
)

server = function(input, output) {
a2 <- reactive ({
if (input$lproof=="D" & input$lproofo=="M"){
a3 <- a1[a1$lproof == "D" & a1$lproofo == "M", ]
} else
if (input$lproof=="G" & input$lproofo=="M"){
a3 <- a1[a1$lroof == "G" & a1$lproofo == "M", ]
} else
if (input$lproof=="M" & input$lproofo=="G"){
a3 <- a1[a1$lproof == "M" & a1$lproofo == "G", ]
} else
if (input$lproof=="D" & input$lproofo=="G"){
a3 <- a1[a1$lroof == "D" & a1$lproofo == "G", ]
} else
if (input$lproof=="M" & input$lproofo=="D"){
a3 <- a1[a1$lroof == "M" & a1$lproofo == "D", ]
} else
if (input$lproof=="G" & input$lproofo=="D"){
a3 <- a1[a1$lroof == "G" & a1$lproofo == "D", ]
}
return(a3)
})

output$a1<- renderDataTable ({
DT::datatable(a2)
})
}
shinyApp(ui, server)

最佳答案

你的 react 函数,就是一个函数。因此,当您使用它时,您需要像引用函数一样引用它,因此 a2() 而不是 a2。查看您的代码,似乎错误源于以下行:

DT::datatable(a2)

应该更改为将 a2 作为函数引用:

DT::datatable(a2())

关于r - “数据”必须是二维的(例如数据框或矩阵)RShiny,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67222675/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com