R: Текст и функция в одной «ячейке» - PullRequest
0 голосов
/ 05 ноября 2018

Мне нужно создать таблицу, в которой я анализирую 9 переменных в большом наборе данных. Для каждой переменной я должен указать, как она масштабируется, какова мера центральной тенденции и какова мера дисперсии.

Поскольку, в зависимости от того, как масштабируется переменная, у меня есть разные меры, я хотел бы указать, что внутри соответствующей ячейки таблицы, которую я пишу. Пример:

"Median: (median(GB$government,na.rm=T)" или же "Median:" (median(GB$government, na.rm=T)

Это не работает, RStudio предупреждает меня из-за неожиданного символа. Вот код, который у меня есть (он включает в себя specify_decimal, потому что я должен включить два десятичных знака каждого значения - эта функция работает безупречно, поэтому не обращайте на это внимания:)

MZT <- c("Median:" specify_decimal(median(GB$government,na.rm=T),2),
     specify_decimal(Modus(GB$local),2),specify_decimal(Modus(GB$gender),2),
     specify_decimal(mean(GB$height,na.rm=T),2),
     specify_decimal(mean(GB$weight,na.rm=T),2),specify_decimal(mean(GB$age,na.rm=T),2),
     specify_decimal(mean(GB$education,na.rm=T),2),
     specify_decimal(median(GB$income,na.rm=T),2),
     specify_decimal(median(GB$father_educ,na.rm=T),2))

/ edit: теперь я понимаю, как работает kable: D

1 Ответ

0 голосов
/ 05 ноября 2018

Одним из способов создания пользовательских таблиц в R является использование функции knitr::kable() вместе с R Markdown. Вот тривиальный пример, который печатает таблицу, сравнивающую выборку и теоретические значения для экспоненциального распределения, где лямбда = 0,2.

library(knitr)
Statistic <- c("Mean","Std. Deviation")
Sample <- c(round(5.220134,2),round(5.4018713,2))
Theoretical <- c(5.0,5.0)
theTable <- data.frame(Statistic,Sample,Theoretical)
rownames(theTable) <- NULL
kable(theTable)

... и текстовый вывод:

> kable(theTable)


|Statistic      | Sample| Theoretical|
|:--------------|------:|-----------:|
|Mean           |   5.22|           5|
|Std. Deviation |   5.40|           5|
> 

При запуске в R Markdown вывод выглядит следующим образом:

enter image description here

Объяснение

Я использовал следующую технику для создания таблицы.

  1. Фрейм данных используется в качестве контейнера для хранения данных
  2. Каждый столбец в таблице является столбцом данных во фрейме данных
  3. В первом столбце хранятся имена строк
  4. Во втором-n-м столбцах хранятся различные значения, относящиеся к каждой строке
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...