В Jupyter Notebook, использующей ядро R (в виртуальной среде Anaconda с именем "RProd"), я хочу вывести строки R message () в ячейку зеленого цвета для всех моих "успешных" сообщений выполнения, чтобы сразу становится очевидным для пользователей, когда все работает. Аналогично, цветные ячейки - красный, когда выполнение не удается (для v2 я хотел бы закрасить различные типы исключений, но это сладкая глазурь на этом торте).
Функция message () не принимает параметры цветового кодирования и была разработана для вывода на консоль в стиле Unix.
Я пробовал пакет R crayon
, но он не дает цветного вывода в записной книжке с ядром Jupyter R.
Я пробовал цветовое кодирование f-строк внутри HTML жестко запрограммированные ячейки, но я не совсем знаю правильный синтаксис.
Код ниже просто окрашивает всю ячейку в зеленый цвет, но не выполняет встроенный код R. Даже с пакетом R glue
это не работает.
<b>Up to you:</b> Use green boxes (alert-success) sparingly, and only for some specific purpose that the other boxes cannot cover. For example, if you have a lot of related content to link to, maybe you decide to use green boxes for related links from each section of a notebook.
{if (length(highest.deg.colname) > 0) {
highest.degree.colname <- 'highest.deg.colname'
message(paste('Success: Using ', highest.degree.received, 'variable for highest.degree.', sep=""))
} else {
highest.degree.colname <- 'Highest.Degree.Merged'
message(paste('Failure: Must use ', highest.degree.merged, 'to merge highest.degree values.'))
}
}
</div>
Я не уверен, как использовать интерполяцию f-строки в R (как в Python). Возможно, если я помещу всю структуру if-then logi c во вложенный if-then l oop, чтобы закрасить ячейку на основе оценки внутреннего оператора if-then. Или создание отдельной функции только для условного окрашивания ячейки в зависимости от успеха или неудачи. Оба они кажутся очень не элегантными. Должен быть лучший existing
способ сделать это, используя R с улучшенным Jupyter Notebook, возможно, используя существующее расширение Jupyter NB.
Возможно, расширения JupyterLab NB лучше работают для ядра R? Кто-нибудь знает?
Пожалуйста, никаких предложений о переключении этого проекта в R Notebook или R Markdown в RStudio. Jupyter Notebook под управлением R является выбором времени выполнения, поэтому мы можем использовать виджеты i Python, чтобы обеспечить пользователю более высокую интерактивность. Мы хотим уйти от RShiny и RShiny Server или от других запатентованных решений, для которых будущее поддержки неясно. На данный момент Jupyter Notebook, кажется, является лучшей игрой с открытым исходным кодом с большей базой разработчиков с более контролируемыми результатами или, по крайней мере, вариантами.
Любая помощь будет высоко ценится!
Спасибо.