Pergunta

Eu tenho um longo vetor de string (seqüência de DNA) de até alguns milhares de caracteres seqüenciais que eu deseja adicionar à minha knitr relatório de saída.RStudio lida com a disposição do texto perfeitamente no console, mas quando eu gerar o knitr html de saída eu posso ver apenas uma linha de texto e ele só é executado fora da página.

RStudio de saída

knitr de saída

Qualquer forma de ajuste knitr saída para moldar o texto?

Obrigado.

Foi útil?

Solução

Eu recomendo que você tente o R Markdown v2.O padrão de modelo HTML não quebra automática de texto para você.Isto é conseguido através das definições de CSS para a tag do HTML pre/code, e.g. word-wrap: break-word; word-break: break-all;.Estas definições são, na verdade, de Bootstrap (atualmente rmarkdown usa Bootstrap 2.3.2).

Você ainda estavam usando a primeira versão de R Markdown, a saber, a markdown pacote.Certamente você pode atingir o mesmo objetivo, utilizando alguns personalizado definições CSS, e ele só exige que você aprenda mais sobre HTML/CSS.

Outra solução é manualmente quebrar a longa seqüência de caracteres usando a função str_break() Eu escrevi abaixo:

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')
```
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top