2016-05-02 7 views
10

मेरे पास एक से अधिक चर के साथ एक चर है जिसमें लंबे चर नाम और लंबी वर्ण तारों के साथ कई अवलोकनों के मान हैं। मैं प्रत्येक कॉलम चौड़ाई को स्पष्ट रूप से कैसे सेट कर सकता हूं, इसलिए आर मार्कडाउन के माध्यम से एचटीएमएल में दी गई तालिका सेल में लंबी स्ट्रिंग को फिट करने के लिए स्वचालित रूप से लाइनों को दोगुना नहीं कर देगी?आर मार्कडाउन का उपयोग कर आर डीटी टेबल के लिए कॉलम चौड़ाई को स्पष्ट रूप से कैसे सेट कर सकता हूं?

मेरे लिए कुछ कॉलम होने के लिए ठीक होगा जो लंबे समय तक पर्याप्त हैं, भले ही तालिका एक ही समय में सभी कॉलम दिखाने में सक्षम न हो। लेकिन, मैं हमेशा 'फिक्स्ड कॉलम' एक्सटेंशन और अधिक कॉलम के लिए दाईं ओर जाने के लिए स्क्रॉल बार का उपयोग कर सकता हूं।

कोड मैं वर्तमान में स्तंभ चौड़ाई सेट करने के लिए उपयोग कर रहा हूँ कर रहे हैं:

options = list(
    autowidth = TRUE, 
    columnDefs = list(list(width = '600px', targets = c(1, 2))), 

लेकिन कोई फर्क नहीं पड़ता कि कैसे मैं चौड़ाई अलग ढंग से निर्धारित करते हैं, अंतिम गाया मेज पर सब बहुत ज्यादा अलग लग doest।

यहां कुछ पुन: उत्पादक कोड दिए गए हैं जिन्हें मैंने मार्कमार्क डेटा और एचटीएमएल में डीटी ऑब्जेक्ट उत्पन्न करने सहित रमार्कडाउन में उपयोग किया था। enter image description here

क्या मैं सच में चाहते हैं पहले दो काफी देर तक स्तंभों के लिए स्तंभ चौड़ाई सेट करने के लिए है, इसलिए मान:

```{r} 
# generate data 
vec_1 <- c("DHDH, DDDDDTV", 
     "DHDH, DDDDDTV, TT&T", 
     "DHDH, DDDDDTV, TT&T, Caaater", 
     "DHDH, DDDDDTV, TT&T, Caaater, Cxx", 
     "DHDH, DDDDDTV, TT&T, Cxx", 
     "DHDH, DDDDDTV, Caaater",   
     "DHDH, DDDDDTV, Caaater, Cxx", 
     "DHDH, DDDDDTV, Cxx") 

vec_2 <- c("Some radomn long string aaa bbb ccc dddd aaa bbb ccccccc", 
     "Some radomn long stringa", 
     "Some string aaa bbb", 
     "Some radomn long string aaa bbb ccc dddd aaa bb (A)", 
     "Some radomn long string aaa bbb ccc dddd aaa b (B)", 
     "Some radomn long string aaa bbb ccc dd (D)", 
     "Some radomn long string aaa bbb ccc ddd (D)", 
     "Some radomn long string aaa bbb ccc d (D)", 
     "Some radomn long string aaa bbb ccc ddd aaa bbb dddaa (G)", 
     "Some radomn long string aaa bbb ccc ddd aaa bbb dddaa(G)", 
     "Some radomn long string aaa bbb ccc ddd aaa bbb ddd (G)", 
     "Some radomn long strin(H)", 
     "Some radomn long string (G)", 
     "Some radomn long (Beee)") 

col_1 <- sort(rep(vec_1, 14)) 
col_2 <- rep(vec_2, 8) 
col_3 <- c(rep(105, 14), rep(29, 14), rep(22, 14), rep(2, 14), 
     rep(10, 14), rep(29, 14), rep(5, 14), rep(8, 14)) 
col_4 <- rnorm(112) 
col_5 <- rnorm(112) 
col_6 <- rnorm(112) 
col_7 <- rnorm(112) 
col_8 <- rnorm(112) 
col_9 <- rnorm(112) 

df <- data.frame(col_1, col_2, col_3, col_4, col_5, col_6, col_7, col_8, col_9) 
``` 

```{r} 
library(DT) 

datatable(
    df, 
    colnames = c("Source Type", "Factors", 
       "Market Counts", "Minimum", "1st Qu", 
       "Median", "Mean", "3rd Qu", "Maximum"), 
    extensions = 'FixedColumns', 
    options = list(
     autowidth = TRUE, 
     columnDefs = list(list(width = '600px', targets = c(1, 2))), 
     pageLength = 14, 
     lengthMenu = c(7, 14, 28, 36), 
     scrollX = TRUE, 
     fixedColumns = TRUE 
     )) %>% 
    formatRound(4:9, digits = 2) 
``` 

यहाँ डीटी का एक स्क्रीन शॉट एचटीएमएल में उत्पादित ऊपर कोड का उपयोग कर रहा है प्रत्येक पंक्ति में इस तरह अव्यवस्थित नहीं होगा। मुझे कॉलम 4: 9 के लिए चौड़ाई भी पसंद करनी होगी। लेकिन ऐसा लगता है कि वर्तमान में इन कॉलम की चौड़ाई परिवर्तनीय नामों की लंबाई पर निर्भर है, जो बहुत अच्छी नहीं लगती है। सुधार करने के लिए मैं यहां कोई कामकाज कर सकता हूं? धन्यवाद,

+0

मुझे लगता है कि यहां समस्या अनिवार्य रूप से वही है [http://stackoverflow.com/questions/34850382/setting-column-width-in-r-shiny-datatable-does-not-work- इन-केस-ऑफ-ऑफ-कॉलम? lq = 1): बहुत से कॉलम के साथ, कॉलम चौड़ाई को अनदेखा कर दिया जाता है। –

उत्तर

1

आप अपने html फ़ाइल के लिए निम्न सीएसएस जोड़कर एक एक पंक्ति स्तंभ प्राप्त कर सकते हैं:

<style> 
table.display td { white-space: nowrap; } 
</style> 

वैकल्पिक रूप से एक अलग .ccs फ़ाइल बनाने के लिए और यह YAML हेडर के साथ शामिल हैं। इस मुद्दे पर और चर्चा के लिए क्लिफ्टन here द्वारा टिप्पणी देखें।

मैं अन्य कॉलम की चौड़ाई को जल्दी से सेट करने में सक्षम नहीं था। मैं कुछ ऐसा करने की कोशिश की:

```{r} 
library(DT) 

datatable(
    df, 
    colnames = c("Source Type", "Factors", 
       "Market Counts", "Minimum", "1st Qu", 
       "Median", "Mean", "3rd Qu", "Maximum"), 
    extensions = 'FixedColumns', 
    options = list(
     autowidth = FALSE, 
     columnDefs = list(list(width = '600px', targets = c(1, 2)), 
          list(width = '100px', targets = 3:(ncol(df) - 2))), 
     pageLength = 14, 
     lengthMenu = c(7, 14, 28, 36), 
     scrollX = TRUE, 
     fixedColumns = TRUE 
     )) %>% 
    formatRound(4:9, digits = 2) 
``` 

मुझे लगता है कि यह here चौड़ाई सेट करते समय fixedColumns एक्सटेंशन का उपयोग कर के बारे में किए गए अंक से संबंधित है।

संबंधित मुद्दे