2017-04-17 70 views
1

我有以下RMarkdown Shiny文件:不完整的CSV/Excel的行

--- 
title: "Title" 
runtime: shiny 
output: 
    flexdashboard::flex_dashboard: 
    vertical_layout: scroll 
    theme: bootstrap 
    orientation: rows 
--- 

```{r setup, include=FALSE} 
library(flexdashboard) 
``` 



Rows {data-height=400} 
----------------------------------------------------------------------- 

### Table 

``` {r show_table} 
library(DT) 
library(ggplot2) 
renderDataTable({ 
    dat <- diamonds 
    }, 
    extensions = c('Scroller','Buttons'), 
    class = 'compact cell-border stripe', rownames = FALSE, 
    filter = list(position = 'top', clear = FALSE, plain =TRUE), 
    options = list(
     deferRender = FALSE, 
     scrollY = 200, 
     scroller = TRUE, 
     dom = 'Bfrtip', 
     buttons = c('csv', 'excel') 
    ) 
) 
``` 

將會產生這個文件:

enter image description here

後,我下載Excel文件中,行數僅爲〜90行 未完成53,940個條目。爲什麼是這樣的,我該如何解決它?

回答

2

默認情況下DT使用Server-side Processing因此只有可見數據被髮送到瀏覽器。這就是爲什麼Excel文件只包含可見數據(如果您刪除了scrollY = 200scroller = TRUE這變得非常清楚)。

要下載所有需要禁用服務器端處理的數據,請包括server = FALSE(例如,

class = 'compact cell-border stripe', rownames = FALSE, 
server = FALSE, 
filter = list(position = 'top', clear = FALSE, plain =TRUE), 

不幸的是,這使得加載和瀏覽表格非常慢(至少在我的電腦上)。

順便說一句:您的代碼取決於數據集,它是ggplot2的一部分。