[英]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.