Аннотированные корреляционные таблицы со звездочётом

Я хочу сообщить о таблицах корреляции в латексном отчете, и я использую «звездочет» для преобразования моих объектов R в текс-код. Корреляционные данные в настоящее время хранятся во фрейме данных.

Я хотел бы напечатать rownames и, возможно, добавить аннотацию под таблицей. Я не смог найти аргумент «печатные названия», а аргумент «примечания», похоже, не работает.

Любые идеи?

## create object
x           <- matrix(1:4, 2, byrow = TRUE)
dimnames(x) <- list(c("A", "B"), c("A", "B"))
x           <- data.frame(x)

## create Tex-Code
stargazer(x, summary = FALSE, title = "2x2 Matrix",
          notes = "This is a two by two Matrix")

person stats-hb    schedule 12.10.2013    source источник
comment
PS: Мне также интересно, как правильно выровнять значения. как положительные, так и отрицательные значения отображаются по центру, что приводит к неустойчивому отображению. Когда я использую align = TRUE, полные значения (1) устанавливаются слишком далеко влево по сравнению с корреляциями (например, 0,33). Кто-нибудь знает альтернативу?   -  person stats-hb    schedule 13.10.2013


Ответы (3)


Начиная с версии 5.0, stargazer может напрямую выводить содержимое матриц / векторов. Следующий код должен обеспечить простое и интуитивно понятное решение вашей проблемы:

## create object
x           <- matrix(1:4, 2, byrow = TRUE)
dimnames(x) <- list(c("A", "B"), c("A", "B"))

## create Tex-Code
stargazer(x, title = "2x2 Matrix",
          notes = "This is a two by two Matrix")
person Community    schedule 06.03.2014

Это скорее решение для уценки, которое можно преобразовать в LaTeX, например, Pandoc:

> require(pander)
> pander(x, caption = 'Annotation')

---------------
&nbsp;   A   B 
------- --- ---
 **A**   1   2 

 **B**   3   4 
---------------

Table: Annotation
person daroczig    schedule 12.10.2013

Чтобы получить "rownames", попробуйте это хакерское решение:

## create object
x           <- matrix(1:4, 2, byrow = TRUE)
x           <- data.frame(x)
x           <- cbind(c("A","B"),x)
colnames(x) <- c("","A", "B")

## create Tex-Code
stargazer(x, summary = FALSE, title = "2x2 Matrix",
          notes = "This is a two by two Matrix", type="text")

На данный момент (v. 4.5.1) «звездочет» лучше всего подходит для работы с таблицами регрессии и фреймами данных. Однако ваш вопрос предполагает, что пользователи могут быть заинтересованы в лучшей поддержке матриц. Ожидайте этого в будущих выпусках (в следующие несколько месяцев).

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

.format.s.stat.parts <<- c("-!","stat names","-!","statistics1","-!")

by:

.format.s.stat.parts <<- c("-!","stat names","-!","statistics1","-!","notes")
person Community    schedule 13.10.2013