R “问题”;遵守「;闪亮的
我在ShinyApp工作,其目标是基于Excel数据库生成的属性创建选择(属性的数量可能会有所不同)。下面是我的服务器.R代码中最重要的部分:R “问题”;遵守「;闪亮的,r,shiny,R,Shiny,我在ShinyApp工作,其目标是基于Excel数据库生成的属性创建选择(属性的数量可能会有所不同)。下面是我的服务器.R代码中最重要的部分: shinyServer(function(input, output, session){ seleciona_planilha <- observe({ dados = input$arquivo if (is.null(dados)) { return(NULL) }
shinyServer(function(input, output, session){
seleciona_planilha <- observe({
dados = input$arquivo
if (is.null(dados))
{
return(NULL)
}
else
{
capturar = names(getSheets(loadWorkbook(dados$datapath)))
updateSelectInput(session,"planilha",choices = capturar)
}
})
carrega_dados <- reactive({
dados = input$arquivo
if (is.null(dados))
{
return(NULL)
}
else{return(read.xlsx(dados$datapath, sheetName = input$planilha))}
})
提前谢谢 您得到的错误是什么?或者是没有错误,只是没有更新下拉菜单?应用程序在执行后很快就会崩溃!从你的例子中不清楚问题出在哪里。它还依赖于我们无法访问的文件。请提供一个复制您遇到的问题的方法。R控制台中报告的错误是什么?我假设一开始,
input$arquivo
是NULL
,并不是所有的函数/观察值都能解释这一点。如果您能提供您遇到的实际错误,我们将能够提供更多帮助。抱歉。报告的错误是“错误:[on_request_read]由对等方重置连接。”。我将尝试在一个更具可复制性的示例中工作,并在完成后在这里发布。您得到的错误是什么?或者是没有错误,只是没有更新下拉菜单?应用程序在执行后很快就会崩溃!从你的例子中不清楚问题出在哪里。它还依赖于我们无法访问的文件。请提供一个复制您遇到的问题的方法。R控制台中报告的错误是什么?我假设一开始,input$arquivo
是NULL
,并不是所有的函数/观察值都能解释这一点。如果您能提供您遇到的实际错误,我们将能够提供更多帮助。抱歉。报告的错误是“错误:[on_request_read]由对等方重置连接。”。我将尝试在一个更具可复制性的示例中工作,并在完成后在这里发布。
rotina <- reactive({
dados = carrega_dados()
tam_dados = length(dados)
pos_ini = 22
vet_comp = vector()
resultados = as.data.frame(matrix(nrow = length(seq(pos_ini,tam_dados,2)), ncol = 10))
nomes = names(dados)
cd = 4
k = 1
amostra = vector()
for(i in 1:length(dados[,1]))
{
if(dados[i,6] == 1)
{
amostra[1] = as.character(dados[i,7])
break
}
}
for(i in 1:length(dados[,1]))
{
if(dados[i,6] == 2)
{
amostra[2] = as.character(dados[i,7])
break
}
}
names(resultados) = c("Name",amostra[1], amostra[2],"NSD",
"Tau","Var(Tau)","D-Prime",
"Var(D-Prime)","IC(D-Prime)","p-value(D-Prime)")
for(i in seq(pos_ini,tam_dados,2))
{
cNSD = 0
c1 = 0
c2 = 0
for(j in 1:length(dados[,i]))
{
if(as.character(dados[j,i]) == " NSD" || as.character(dados[j,i]) == "NSD")
{
cNSD = cNSD + 1
}
if(as.character(dados[j,i]) == "1")
{
c1 = c1 + 1
}
if(as.character(dados[j,i]) == "2")
{
c2 = c2 + 1
}
}
vet_comp = c(c1,cNSD,c2)
resultados[k,1] = nomes[i]
resultados[k,2] = c1
resultados[k,3] = c2
resultados[k,4] = cNSD
resultados[k,5] = round(twoAC(vet_comp)$coefficients[1,1],cd)
resultados[k,6] = round((twoAC(vet_comp)$coefficients[1,2])^2,cd)
resultados[k,7] = round(twoAC(vet_comp)$coefficients[2,1],cd)
resultados[k,8] = round((twoAC(vet_comp)$coefficients[1,2])^2,cd)
if(vet_comp[1] != 0 && vet_comp[2] != 0 && vet_comp[3] != 0)
{
resultados[k,9] = paste("[",round(twoAC(vet_comp)$confint[,1],cd),";",
round(twoAC(vet_comp)$confint[,2],cd),"]")
}
else
{
resultados[k,9] = paste("No IC")
}
resultados[k,10] = round((twoAC(vet_comp)$p.value)/2,cd)
k = k + 1
}
return(resultados)
})
seleciona_atributo <- observe({
resultados = rotina()
atributos = resultados[,1]
updateSelectInput(session,"atributo",choices = atributos)
})
shinyUI(fluidPage(
titlePanel("2-AC Sensory Tool"),
sidebarLayout(
sidebarPanel(
fileInput('arquivo', 'Choose XLS/XLSX File',
accept=c('.xls','.xlsx')),
tags$hr(),
selectInput("planilha",label = h4("Select data sheet"),""),
tags$hr(),
selectInput("atributo",label = h4("Select attribute to generate d-prime graphic",""),
downloadButton('download', 'Download results')
),
mainPanel(
plotOutput("grafico_dp"),
plotOutput("grafico_dist"),
h4("Results Table"),
dataTableOutput("saida")
)
)
))