Изменить итоговые переменные, возвращаемые Hmisc summary () - PullRequest
3 голосов
/ 15 сентября 2010

Есть ли простой способ получить представление о традиционных квартилях, возвращаемых summary.formula с method="reverse" из библиотеки Hmisc R? Я хотел бы получить Среднее / SD + Мин / Макс для каждой из моих непрерывных переменных, но не удалось. Можно передать вызов пользовательской функции через аргумент fun, но он не работает, когда method="reverse".

Ответы [ 3 ]

3 голосов
/ 22 сентября 2010

Arf ... Я просто смотрю на код summary.formula() в пакете Hmisc и могу подтвердить, что Mean и SD действительно вычисляются, но не отображаются при печати в командной строке.Таким образом, мы должны явно запросить его при вызове функции print(), например,

library(Hmisc)
df <- data.frame(g=sample(LETTERS[1:3], 100, rep=TRUE), replicate(3, rnorm(100)))
s <- summary(g ~ ., method="reverse", data=df)
latex(s, prmsd=TRUE, digits=2)  # replace latex by print to output inline

, что приводит к следующей таблице:

alt text

2 голосов
/ 22 сентября 2010

Должен ли он быть в пакете Hmisc?Если у вас есть кадр данных с непрерывными переменными, вы можете получить тот же результат, просто используя пакет изменения формы:

df <- data.frame(a=rnorm(100),b=rnorm(100),c=rnorm(100))

f.summary <- function(x) {
x <- melt(x)
x <- cast(x, variable ~ ., c(mean, sd, min, max))
return(x)
} 

f.summary(df)

HTH

1 голос
/ 22 сентября 2010

Ответ - нет. Автор пакета решил (как он заявляет в посте, связанном с Gnark), что минимальная, максимальная и стандартная ошибка (перефразируя) «определенно не описывают» непрерывных переменных по категориальной группе.

Вы можете установить prmsd=TRUE в print.summary.formula.reverse, чтобы получить среднее и стандартное отклонение, но нет способа получить минимальное или максимальное значение.

> Data <- data.frame(y=sample(1:2,20,TRUE),x=rnorm(20))
> print(summary.formula(y ~ x,data=Data,method="reverse"),prmsd=TRUE)


Descriptive Statistics by y

+-+---------------------------------------------------------+---------------------------------------------------------+
| |1                                                        |2                                                        |
| |(N=11)                                                   |(N=9)                                                    |
+-+---------------------------------------------------------+---------------------------------------------------------+
|x|-0.5382053/-0.3375862/ 0.3093839  -0.1434995+/- 1.1113628|-0.4464168/-0.1677906/ 0.3007129   0.1234988+/- 0.9666382|
+-+---------------------------------------------------------+---------------------------------------------------------+
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...