2017-02-22 14 views
1

В проекте для науки о данных в моем университете нам было предложено создать дерево решений, чтобы моделировать, какие клиенты могут реагировать или не реагировать на кампанию. Одним из требований задачи было создание матрицы путаницы, которую я преобразовал в кадр данных. Это кадр данных, который я сгенерировал.Как вы изменяете семейство шрифтов в формате, пригодном для обработки в R?

confusionMatrixCARTDecisionTree <- data.frame("Number Predicted to Not Subscribe" = 
    c(36006, 542), "Number Predicted to Subscribe" = c(3554, 1086), 
    row.names = c("Number of Individuals that Subscribed", 
    "Number of Individuals that didn't Subscribe")); 

Я тогда использовал этот код для его преобразования в готовое к форматированию.

formattableConfusionMatrixCARTDecisionTree <- formattable(
    confusionMatrixCARTDecisionTree, align = "c", 
    list("Predicted Number not Subscribing" = color_tile("white", "yellow"),  
    "Predicted Number Subscribing" = color_tile("yellow", "white"))); 

И тогда функция я нашел здесь, https://github.com/renkun-ken/formattable/issues/26, чтобы поставить formattable в отчет в формате PDF. Тем не менее, теперь я пытаюсь изменить семейство шрифтов на CMU Serif матрицы замешательства, чтобы он соответствовал файлу LaTeX. Я работал, как изменить шрифт для столбца, например:

formattableConfusionMatrixCARTDecisionTree <- 
    formattable(confusionMatrixCARTDecisionTree, list("Predicted Number not Subscribing" = 
    formatter("span", style=style("font-family" = "CMU Serif")))); 

Однако я прочитал документацию здесь https://cran.r-project.org/web/packages/formattable/formattable.pdf и я искал в Интернете, но я не могу найти способ, чтобы изменить шрифт заголовки или имена строк. Если бы у кого-то было это решение, я был бы бесконечно благодарен! Я также был бы очень рад, если бы кто-нибудь знал какой-то код, который изменил бы семейство шрифтов всей таблицы.

Примечание: я понимаю, что вопрос, связанный с изменением внешнего вида заголовка, был задан здесь How to change appearance of table header row with R formattable package, однако это не было принято и не затрагивает проблему смены семейства шрифтов.

Благодарим вас за внимание! Я действительно верю, что любые ответы помогут другим использовать этот замечательный пакет.

Редактировать: Решение спасибо Али Халадж и Аль-Мофафар. Ответ на этот вопрос состоял в том, чтобы изменить CSS format_table. Параметр «table.attr» позволяет связать format_table с пользовательским классом CSS (который вы можете написать). Это позволит вам изменить шрифт и другие функции. Другое решение - добавить контейнер стиля, который подробно описан здесь how to colour different Rmarkdown kable tables in different colour. Удачи вам в этом превосходном пакете!

ответ

1
@font-face { 
    font-family: 'Name'; 
    src:url('../fonts/Name.eot?#') format('eot'),url('../fonts/Name.woff') format('woff'),url('../fonts/Name.ttf') format('truetype'); 
} 
html { 
    height:100% 
} 
body{ 
    font-family:Name,Tahoma,tahoma,Arial; 
    background-color:#fafafa; 
    height:100% 
} 
+0

Уважаемый Али, большое вам спасибо за ваш быстрый ответ! Я новичок в R, поэтому я очень незнакома с этим типом синтаксиса. Однако, я быстро googled тег @ font-face, и это, кажется, имеет много достоинств! Однако я не уверен, как реализовать это с помощью моего текущего кода. Должен ли я сделать отдельный файл с помощью CSS? –

+0

Вы приветствуете человека, да, вы можете, но если вы хотите использовать шрифт для всех браузеров, вы должны использовать весь формат одного шрифта, как указано выше. –

+0

Спасибо вам за помощь Али и Аль-Мофафар, я очень ценю это! Я добавил решение и ответил на вопрос! –

0

Решение благодаря @Ali Халаджи и @ Al-Mothafar.The ответ на этот вопрос должен был изменить CSS из format_table. Параметр «table.attr» позволяет связать format_table с пользовательским классом CSS (который вы можете написать). Это позволит вам изменить шрифт и другие функции. Другим решением является добавление контейнера стиля, в котором подробно описано, как окрашивать разные таблицы Rabledown Kable в разные цвета. Удачи вам в этом превосходном пакете!