2016-03-19 26 views
0

Parlak bir uygulama yazıyorum ve gayet iyi çalışıyordum ve aniden iki uyarı mesajı alıyorum. Daha önceki kopyalara geri döndüm ve şimdi aynı hata mesajlarını gösteriyorlar, bu yüzden gerçekten kafam karıştı. Kodum hala çalışıyor ve parlak gösterge tablonun sonuçlar sekmesinde doğru sonuçları gösteriyor, ancak uyarı mesajları Ben hata ayıklama ve ilk uyarı, vazgeçme ile gider ve ikinci uyarı, panodaki bir sekmeyi tıkladığımda ortaya çıkar. Veri, sayısal ve karakterli bir n X 10 veri çerçevesidir. Herhangi bir yardım büyük takdir edilecektir. Daha fazla bilgi sağlayabilirsem, bana haber ver.R parlak widgetFunc() eventReactive (uyarı 1) ve renderDataTable ile uyarı iletileri (uyarı 2)

İşte 1 açıklanmıştır:

Warning in widgetFunc() : 
    renderDataTable ignores ... arguments when expr yields a datatable object; see ?renderDataTable 
Warning: Error in cat: argument 1 (type 'environment') cannot be handled by 'cat' 
Stack trace (innermost first): 
    74: cat 
    73: eval 
    72: eval 
    71: withVisible 
    70: evalVis 
    69: utils::capture.output 
    68: paste 
    67: output$ntext1 
    1: shiny::runApp 

İşte 2 açıklanmıştır:

Warning in widgetFunc() : 
    renderDataTable ignores ... arguments when expr yields a datatable object; see ?renderDataTable 
tran_cd=c('I','E','R') 
data_source_cd=c('1','2','3','4') 
library(shiny) 
library(shinydashboard) 
library(xlsx) 
if (!require("DT")) install.packages('DT') 
sessionInfo() 
library(DT) 
ui <- dashboardPage(
    dashboardHeader(title = "ARC"), 
    dashboardSidebar(sidebarMenu(
    menuItem("Settings", tabName = "settings", icon = icon("th")), 
    menuItem("Results Table", tabName = "ResultsTable", icon = icon("ResultsTable")))), 
    dashboardBody(
    tabItems(tabName = "ResultsTable", 
       fluidPage( 
       headerPanel(
        h1("Anomaly List", align="center", style = "font-family: 'Verdana';font-weight: 800; line-height: 1.1; color: #151515;")), 
       # fluidRow(
       #  column(8, DT::dataTableOutput("table",width = "100%"),offset = 2)))), 
       #     # Create a new Row in the UI for selectInputs 
       fluidRow(

        column(4, 
         selectInput("sour", 
            "Source Type:", 
            c("All", 
             unique(as.character(data_source_cd)))) 
       ), 
        column(4, 
         selectInput("sour1", 
            "Source Type:", 
            c("All", 
             unique(as.character(data_source_cd)))) 
       ), 
        column(4, 
         selectInput("tran", 
            "Transaction Type:", 
            c("All", 
             unique(as.character(tran_cd)))))), 
       # Create a new row for the table. 
       fluidRow(column(8, DT::dataTableOutput("table",width = "100%"),offset = 2)))) 
))) 




library(shiny) 
library(chron) 
library(forecast) 
library(ggplot2) 
#names(iris) = gsub("\\.", "", names(iris)) 
setwd("C:/Users/Name/Documents/Projects/TrendAnalysis/Data") 
source("C:/Users/Documents/Projects/TrendAnalysis/Rcode/App-1/MonitoringIngestion.R") 
df=read.csv('list.csv',header=TRUE, stringsAsFactors = FALSE) 
df=unique(df[,1:3]) 
dfrn=df[,2]; 
rownames(df)=make.names(dfrn, unique=TRUE) 
shinyServer(function(input, output, session) { 
    rv <- reactiveValues() 
    rv$data <- NULL 

    ntext1 <- eventReactive(input$gobutton,{ 
    if (input$dateRange[2]<input$dateRange[1]){print("You selected the date range option;however, the end date entered occurs before the starting date")} 
    else{ 
     output$ntext1 <- renderText({print("Analysis Complete...Data Loading...")}); 
     observe({ ## will 'observe' the button press 
     if(input$gobutton){ 
      print("here") ## for debugging 
      Singledate=input$date; 
      Daterange=input$dateRange; 
      Alldata=input$checkbox; 
      SourceSelect=input$checkGroup1; 
      TranSelect=input$checkGroup2; 
      AirlineSelect=input$x3_rows_selected; 
      Mag_level=input$slider1; 
      rv$data <- MonitoringDDSIngestion(Alldata,Singledate,Daterange,SourceSelect,TranSelect,AirlineSelect,Mag_level) ## store the data in the reactive value 
     } 
     }) 
    } 
    }) 

    output$table <- DT::renderDataTable(DT::datatable({ 
    data <- rv$data 
    if (input$sour != "All") { 
     data <- data[data[,1] == input$sour,] 
    }else{data} 
    if (input$sour1 != "All") { 
     data <-data[data[,2] == input$sour1,] 
    }else{data} 

    if (input$tran != "All") { 
     data <-data[data[,3] == input$tran,] 
    }else{data} 

    }), filter='top') 
}) 


MonitoringIngestion2 <-function(All,date1,date2, source_cd,tran_cd,airline_list,mag_level) { 
    print(All); print(date1); print(date2); print(source_cd);print(tran_cd);print(airline_list);print(mag_level) 
    setwd("C:Documents/Projects//Data") 
    data = read.csv("November2015_December2015.csv",header=TRUE,sep=",",colClasses="factor") 
    } 
data 
+2

Sadece kodunuzu çalıştırdınız ve MonitoringIngestion.R ve list.csv dosyasını sağladıktan sonra harika olacaksınız. – InfiniteFlashChess

+0

@ InfiniteFlashChess cevabınız için teşekkür ederiz. Özgün MonitoringIngestion işlevini, bu kodun olup olmadığını anlamak için daha basit bir şeyle değiştirdim (yukarıya bakın). Sadece bir veri dosyası yükler ve ben hala aynı uyarıyı alırım (1). Veri dosyası, sayısal ve karakter sütunlarına sahip bir nx7 veri çerçevesidir. Garip bir şey, farklı bir sunucu, kullanıcı arabirimi ve izleme takvimi var, çünkü ben her zaman geri dönebildiğimden, hatta mükemmel bir şekilde çalışan eski versiyonun bile aynı uyarıya sahip olmasını sağladım. Tam olarak nerede üretildiğini takip edemiyorum. Parlak hata ayıklamak zor. – Tracy

+1

Son zamanlarda paketlerinizi yükseltme şansınız oldu mu? –

cevap

1

Bir DT::datatableVE iade için bu hatayı alıyorsanız ayrıca biri olarak filter='top' belirtiyorsanız ... bağımsız değişkeninindeğerine. İleti,döndürdüğünüzden, ... argümanlarını görmezden gelmeye çalıştığından. Bunun nedeni, ... bağımsız değişkenlerinin DT:datatable yapıcısına iletilmesidir.

Ya DT::datatable kurucu içinde filter='top' taşımak veya data.frame dönüp DT::renderDataTable sizin data.frame belirtilen bir DT::datatable inşa zaman filter='top kullanılacaktır.