2015-07-19 53 views
0

我寫的作品時,沒有閃亮的自定義函數內,我嘗試我的閃亮的應用程序,它返回一個錯誤閃亮:自定義函數不發亮應用

Error in rowMeans(data[, c:x]) : 
'x' must be an array of at least two dimensions 

中使用它的工作,但只要所以它顯然與rowMeans調用有關,但是我將一個數據框傳遞給它,並且我已經改變了將數據框強制到一個數組的功能,但這沒有奏效。我也試着把這個函數放在服務器文件頂部的幾個地方,在被動表達式中,還有一個'helpers'文件,如其中一個例子所示,這是我希望它保留下來的地方。

我已經創造了什麼是希望,再現下面的誤差最小的例子。感謝您的任何幫助和建議!

shinyApp(
    ui = fluidPage(
    sidebarLayout(
     sidebarPanel(selectInput('block','Choose Block', 
           c('1' = 1, 
           '2' = 2, 
           '3' = 3, 
           '4' = 4, 
           '6' = 6, 
           '8' = 8, 
           '12' = 12))), 
     mainPanel(tableOutput("test")) 
    ) 
), 
    server = function(input, output) { 
    DF<-data.frame(replicate(24,sample(0:10,13,rep=TRUE))) 
    block<- function(data, blocks){ 
     data<-array(data) 
     month<-data.frame(seq(0,12)) 
     testy<-data.frame(month) 
     y<-1 
     b<-blocks 
     a<-0 
     while(y<24){ 
     a <- a + 1; 
     y <- a * b; 
     c <- y + 1 - b; 
     d <- "block"; 
     e <- as.character(a); 
     f <- paste(d,e, sep = ''); 
     z <- data.frame(rowMeans(data[,c:y])); 
     colnames(z)[1]<-f 
     testy <- cbind(testy,z) 
     } 
     return (testy) 
    } 
    output$test <- renderTable( 
    block(DF,as.numeric(input$block)) 
    ) 
    } 
) 
+0

調查如果c:x長度爲1,例如3:3什麼的。 – joran

+0

我明白了。謝謝你,多麼愚蠢的錯誤。 –

+0

不要重新分配'c',它只是要求麻煩 – hedgedandlevered

回答

0

我幾乎刪除了這個問題,因爲它只會增加我的愚蠢的問題清單,但我會離開它作爲一個例子爲人民做更多的探索和思考一下你的閃亮的應用程序正在做的那一刻是叫/初始化。

因爲,當應用程序被初始化它被調用rowMeans(數據[1:1])我的上述例子中不起作用,而這確實是僅在一個維度不是兩個的陣列。在提出問題之前,我應該在我計劃的所有閃亮電話中充分測試自己的功能。