2017-05-27 8 views
7

मैं निम्नलिखित आत्म चमकदार-Flexdashboard युक्त हैकैसे चमकदार में renderTable चौड़ाई का विस्तार करने के flexdashboard

--- 
title: "FOO" 
runtime: shiny 
output: 
    flexdashboard::flex_dashboard: 
    vertical_layout: scroll 
    orientation: rows 
    theme: default 

--- 

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

Rows 
------------------------------------- 

### Statistical Test Summary 
```{r stat_test_table} 
mainPanel(

    renderTable({ 
     dat <- df <- structure(list(`Sample name` = structure(1:3, .Label = c("Sample1", 
      "Sample2", "Sample3"), class = "factor"), `FDR correction (mean)` = c(5.93070861978308e-15, 
     6.88632524238004e-13, 3.28339498763286e-16), `FDR correction (sd)` = c(2.00046170407461e-14, 
     2.32019633515427e-12, 1.10782095003689e-15), `P-value (mean)` = c(5.55365134900322e-15, 
     6.44757191496266e-13, 3.07475941705412e-16), `P-value (sd)` = c(1.98732517127302e-14, 
     2.30494707691577e-12, 1.10054774779699e-15)), class = c("tbl_df", 
     "tbl", "data.frame"), .Names = c("Sample name", "FDR correction (mean)", 
     "FDR correction (sd)", "P-value (mean)", "P-value (sd)"), row.names = c(NA, -3L)) 
    } 
    , digits=-2, width = '100%' 
) 
) 
``` 

यह इस तरह तालिका का उत्पादन:

enter image description here

के रूप में वहाँ कहा गया है मैं कैसे कर सकते हैं कॉलम चौड़ाई बढ़ाएं?

+0

सेट 'चौड़ाई =' 200% '' चाल भी करेगा। – parth

+0

मार्कलाइन हेडर में 'आउटपुट' में' ओरिएंटेशन: कॉलम 'के साथ – parth

उत्तर

5

दिलचस्प। यदि आप ?mainPanel() के डॉक्यू को देखते हैं। आपको लगता है कि चौड़ाई डिफ़ॉल्ट "8" तक ही सीमित कर रहा है देखेंगे (12 अधिकतम है): mainPanel(..., width = 8)

तो अगर आप को बदलने के simplfy: mainPanel(..., width = 12) यह काम करेंगे।

+0

धन्यवाद। मैं सफेद क्षेत्र को पृष्ठ की पूरी चौड़ाई तक कैसे बढ़ा सकता हूं? – neversaint

+0

मैं आज बाद में एक नज़र डाल सकता हूं। क्या आप पहले से यहां देख चुके हैं: https://stackoverflow.com/questions/15385696/how-to-adjust-the-output-width-of-rstudio-markdown-output-to-html? – BigDataScientist

2

width = 12mainPanel में div के अंदर तालिका को संलग्न करने से चाल चल रही थी।

--- 
title: "FOO" 
runtime: shiny 
output: 
    flexdashboard::flex_dashboard: 
    vertical_layout: scroll 
    orientation: columns 
    theme: default 

--- 

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

Columns 
------------------------------------- 

### Statistical Test Summary 
```{r stat_test_table} 

mainPanel(width = 12, 
    div(style="height:570px", 
    renderTable({ 
     dat <- df <- structure(list(`Sample name` = structure(1:3, .Label = c("Sample1", 
      "Sample2", "Sample3"), class = "factor"), `FDR correction (mean)` = c(5.93070861978308e-15, 
     6.88632524238004e-13, 3.28339498763286e-16), `FDR correction (sd)` = c(2.00046170407461e-14, 
     2.32019633515427e-12, 1.10782095003689e-15), `P-value (mean)` = c(5.55365134900322e-15, 
     6.44757191496266e-13, 3.07475941705412e-16), `P-value (sd)` = c(1.98732517127302e-14, 
     2.30494707691577e-12, 1.10054774779699e-15)), class = c("tbl_df", 
     "tbl", "data.frame"), .Names = c("Sample name", "FDR correction (mean)", 
     "FDR correction (sd)", "P-value (mean)", "P-value (sd)"), row.names = c(NA, -3L)) 
    } 
    , digits=-2, width = '100%' 
)) 
) 
``` 

यह रूप में उत्पादन का उत्पादन: snapshot

2

मुझे लगता है कि यह ध्यान रखें कि mainPanel यहां आपके उपयोग के मामले के लिए नहीं बनाया गया है महत्वपूर्ण है। यह mainPanel की 'सही' उपयोग है और यही कारण है कि डिफ़ॉल्ट है width = 8

sidebarLayout(
    sidebarPanel(sliderInput("thing", "Thing", min = 0, max = 5, value = 4)), 
    mainPanel(
    renderDataTable({ 

    input$Thing 
     dat <- df <- structure(list(`Sample name` = structure(1:3, .Label = c("Sample1", 
      "Sample2", "Sample3"), class = "factor"), `FDR correction (mean)` = c(5.93070861978308e-15, 
     6.88632524238004e-13, 3.28339498763286e-16), `FDR correction (sd)` = c(2.00046170407461e-14, 
     2.32019633515427e-12, 1.10782095003689e-15), `P-value (mean)` = c(5.55365134900322e-15, 
     6.44757191496266e-13, 3.07475941705412e-16), `P-value (sd)` = c(1.98732517127302e-14, 
     2.30494707691577e-12, 1.10054774779699e-15)), class = c("tbl_df", 
     "tbl", "data.frame"), .Names = c("Sample name", "FDR correction (mean)", 
     "FDR correction (sd)", "P-value (mean)", "P-value (sd)"), row.names = c(NA, -3L)) 
    } 
) 
) 
) 

इसके अलावा, आप अपने तालिकाओं के साथ और अधिक लचीलापन अगर आप डीटी :: renderDataTable का उपयोग जो आप https://rstudio.github.io/DT/

के बारे में पढ़ सकते हैं होगा

वास्तव में, डिफ़ॉल्ट रूप से यह एक रैपर की आवश्यकता के बिना ब्राउज़र विंडो चौड़ाई का 100% लेता है। व्यक्तिगत तत्वों को समर्पित आकार/क्षेत्र को नियंत्रित करने के लिए आप अपने flexdashboards में fillPage और fluidPage का उपयोग करने पर विचार कर सकते हैं।

--- 
title: "FOO" 
runtime: shiny 
output: 
    flexdashboard::flex_dashboard: 
    vertical_layout: scroll 
    orientation: rows 
    theme: default 

--- 

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

Rows 
------------------------------------- 

### Statistical Test Summary 

```{r} 
DT::renderDataTable({ 

    input$Thing 
     dat <- df <- structure(list(`Sample name` = structure(1:3, .Label = c("Sample1", 
      "Sample2", "Sample3"), class = "factor"), `FDR correction (mean)` = c(5.93070861978308e-15, 
     6.88632524238004e-13, 3.28339498763286e-16), `FDR correction (sd)` = c(2.00046170407461e-14, 
     2.32019633515427e-12, 1.10782095003689e-15), `P-value (mean)` = c(5.55365134900322e-15, 
     6.44757191496266e-13, 3.07475941705412e-16), `P-value (sd)` = c(1.98732517127302e-14, 
     2.30494707691577e-12, 1.10054774779699e-15)), class = c("tbl_df", 
     "tbl", "data.frame"), .Names = c("Sample name", "FDR correction (mean)", 
     "FDR correction (sd)", "P-value (mean)", "P-value (sd)"), row.names = c(NA, -3L)) 
    }, 
    extensions = "Responsive" 
) 
``` 
संबंधित मुद्दे