Есть ли способ вывести текст на консоль R в цвете

Пишу скрипт и хочу выводить текстовые сообщения на консоль разными цветами в зависимости от условий. Например: КРАСНЫЙ для ошибок и СИНИЙ для предупреждений и т. д.

Я использую RStudio.


person notuo    schedule 29.05.2012    source источник
comment
Я не уверен в RStudio, но это возможно в RJava-клиенте Eclipse StatET.   -  person Andrie    schedule 29.05.2012
comment
Лучше всего опубликовать это на форумах RStudio. (Я предполагаю, что это невозможно без серьезного взлома.)   -  person Ben Bolker    schedule 29.05.2012
comment
Я пристрастился к библиотеке (раскраске). Но это не работает с RStudio :-(   -  person GSee    schedule 29.05.2012
comment
Спасибо за вашу помощь. Я спрашиваю на форумах R Studio сейчас. Я пытался с некоторыми из упомянутых пакетов без успеха.   -  person notuo    schedule 29.05.2012
comment
кажется, уже в пути? github.com/rstudio/rstudio/issues/2574   -  person user63230    schedule 10.10.2019
comment
Для этого есть решение с использованием базы R здесь.   -  person NotReallyHere12    schedule 20.05.2020


Ответы (3)


Ознакомьтесь с новым crayon пакетом:

library(crayon)
cat(blue("Hello", "world!\n"))

Дополнительная информация на странице GitHub.

Работает в RStudio 1.2.360+

person krlmlr    schedule 21.04.2015
comment
Я уже искал его, а также нашел в SO вопросы, но это не работает. он просто печатает строку без цвета, указанного в консоли R. - person itfeature.com; 25.04.2015
comment
@itfeature.com: Какую конкретную консоль R вы используете? - person krlmlr; 25.04.2015
comment
У меня это не сработало, и я использую R Studio версии 0.99.892 — © 2009-2016 RStudio, Inc. - person Jazzmine; 06.04.2016
comment
@Jazzmine: поддержка цвета на консоли еще не добавлена ​​в RStudio. См., например. github.com/hadley/tibble/issues/30. - person krlmlr; 06.04.2016
comment
Я установил пакет crayon из репозитория Github, но в моем случае cat(blue("Hello", "world!\n")) по-прежнему возвращает черный цвет текста :( - person Florent; 08.04.2016
comment
@Florent: В терминале или в RStudio? - person krlmlr; 08.04.2016
comment
@krlmlr Это в RStudio - person Florent; 08.04.2016
comment
@Florent, пакет crayon содержит функцию has_color(), которая, как я заметил, в основном всегда возвращала false в Windows. Однако я скачал эмулятор терминала ConEmu, и он там работает. Я не пробовал возможности ComEmu, но он выглядит как хороший эмулятор, который, в отличие от Cygwin, легко запускает R. - person Ben Ogorek; 22.04.2017
comment
У меня работает нормально (Linux Mint 18.2, R 3.4.3, Crayon 1.3.4, RStudio 1.2.360). - person CoderGuy123; 05.03.2018
comment
У меня тоже работает, Windows 10, R-3.4.4, RStudio 1.1.383 - person mjs; 01.05.2019
comment
У меня работает Windows 10, R 3.6.1, RStudio 1.2.1335. Это не сработало, пока я не обновил R выше 3.3.1. - person Scott; 21.08.2019
comment
Это работает на xfce4-терминале в ArchLinux и на Jupyter Notebook. - person Maxie Berkmann; 24.11.2019

xterm256 package от Romain Francoise позволяет делать подобные вещи на любой консоли, которая понимает прерывания xterm256.

person Gavin Simpson    schedule 29.05.2012
comment
Это выглядит многообещающе, но не работает в R Studio. Слишком плохо для меня. Спасибо за совет - person notuo; 29.05.2012
comment
есть ли какие-либо дальнейшие обновления по этому поводу? Или у нас все еще нет пакета R, который выводит цветной текст на консоль Rstudio или, альтернативно, на график или панель просмотра Rstudio. - person Lazarus Thurston; 20.09.2017
comment
У меня теперь Crayon работает в RStudio (Linux Mint 18.2, R 3.4.3, Crayon 1.3.4, RStudio 1.2.360). - person CoderGuy123; 05.03.2018

На Linux или Mac вы можете попробовать https://github.com/jalvesaq/colorout. не работает на Windows.

person Aquino    schedule 29.11.2020