2015-04-11 9 views
10

Pytanier Przecena - format tekstowy w kodzie fragmentu z nowych linii

wewnątrz fragmentu kodu w R Markdown (.Rmd) dokumentu jaki sposób można analizować ciąg znaków zawierający nowych linii \n, aby wyświetlić tekst na nowych liniach?

danych i przykładem

chciałbym analizować text <- "this is\nsome\ntext" być wyświetlany jako:

this is 
some 
text 

Oto fragment przykład kodu z kilku próbach (które nie produkują pożądany wynik):

```{r, echo=FALSE, results='asis'} 

text <- "this is\nsome\ntext" # This is the text I would like displayed 

cat(text, sep="\n")  # combines all to one line 
print(text)    # ignores everything after the first \n 
text     # same as print 

``` 

Dodatkowe informacje

Tekst zostanie przesłany przez użytkownika w błyszczącej aplikacji.

np ui.R

tags$textarea(name="txt_comment")  ## comment box for user input 

Mam następnie download przycisk, który używa dokumentu .Rmd uczynić wejście:

```{r, echo=FALSE, results='asis'} 
input$txt_comment 
``` 

example of this is here w galerii R Studio

+0

Jakie jest źródło tekstu? Ręczne wprowadzanie? Wynik innej funkcji? – A5C1D2H2I1M1N2O1R2T1

+0

@AnandaMahto Tekst pochodzi z html 'textarea' na błyszczącej aplikacji – tospig

+0

Jak chcesz, żeby była wyświetlana? Jako fragment kodu lub zwykły tekst akapitu? – A5C1D2H2I1M1N2O1R2T1

Odpowiedz

16

Sztuką jest użycie dwóch spacji przed "\n" z rzędu: więc zastąpić "\n" przez " \n"

Przykład:

```{r, results='asis'} 
text <- "this is\nsome\ntext" 

mycat <- function(text){ 
    cat(gsub(pattern = "\n", replacement = " \n", x = text)) 
} 

mycat(text) 
``` 

Wynik:

enter image description here

PS: To jest to samo tutaj na SO (normalne zachowanie wyprzedaży)
Jeśli chcesz po prostu linia łamania linii używa dwóch spacji na końcu linii, którą chcesz przełamać:

Powiązane problemy