R markdown - форматировать текст в блоке кода с новыми строками
Вопрос
Внутри фрагмента кода в документе R Markdown (.Rmd), как вы разбираете строку, содержащую новые строковые символы \n
, для отображения текста на новых строках?
Данные и пример
Я хотел бы разобрать text <- "this is\nsome\ntext"
для отображения как:
this is
some
text
Вот пример фрагмента кода с несколькими попытками (которые не дают желаемого вывода):
```{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
```
Дополнительная информация
Текст будет выводиться с пользовательского ввода в блестящем приложении.
e.g ui.R
tags$textarea(name="txt_comment") ## comment box for user input
Затем у меня есть кнопка download
, которая использует документ .Rmd
для визуализации ввода:
```{r, echo=FALSE, results='asis'}
input$txt_comment
```
пример этого здесь в галерее R Studio
Ответы
Ответ 1
Хитрость заключается в использовании двух пробелов перед "\n"
в строке:
Поэтому замените "\n"
на " \n"
Пример:
```{r, results='asis'}
text <- "this is\nsome\ntext"
mycat <- function(text){
cat(gsub(pattern = "\n", replacement = " \n", x = text))
}
mycat(text)
```
Результат:
![enter image description here]()
P.S.: Это то же самое здесь, на SO (нормальное поведение уценки)
Если вы хотите, чтобы только развязка использовала два пробела в конце строки, которую вы хотите разбить