簡體   English   中英

在knitr輸出中文本包裹長字符串(RStudio)

[英]Textwrapping long string in knitr output (RStudio)

我有一個長的矢量字符串(DNA序列),我想要添加到我的knitr報告輸出中的幾千個連續字符。 RStudio在控制台中完美地處理文本包裝,但是當我生成knitr html輸出時,我只能看到一行文本,它只是在頁面上運行。

RStudio輸出

編織輸出

任何調整knitr輸出以包裝文本的方法?

謝謝。

我建議你試試R Markdown v2 默認的HTML模板為您進行文本換行。 這是通過HTML標簽pre / code的CSS定義實現的,例如word-wrap: break-word; word-break: break-all; word-wrap: break-word; word-break: break-all; 這些定義實際上來自Bootstrap(目前rmarkdown使用Bootstrap 2.3.2 )。

你還在使用R Markdown的第一個版本,即降價包。 您當然可以使用一些自定義CSS定義來實現相同的目標,它只需要您了解有關HTML / CSS的更多信息。

另一個解決方案是使用我在下面寫的函數str_break()手動中斷長字符串:

A helper function `str_break()`:

```{r setup}
str_break = function(x, width = 80L) {
  n = nchar(x)
  if (n <= width) return(x)
  n1 = seq(1L, n, by = width)
  n2 = seq(width, n, by = width)
  if (n %% width != 0) n2 = c(n2, n)
  substring(x, n1, n2)
}
```

See if it works:

```{r test}
x = paste(sample(c('A', 'C', 'T', 'G'), 1000, replace = TRUE), collapse = '')
str_break(x)
cat(str_break(x), sep = '\n')
```

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM