是否有一种简单的方法可以从Hmisc R库中获取summary.formula
与method="reverse"
返回的传统四分位数?我想得到每个连续变量的平均值/标准差+最小值/最大值,但没有成功。可以通过参数fun
传递自定义函数调用,但在method="reverse"
时它不起作用。更改Hmisc R归档返回的摘要变量摘要()
回答
答案是否定的。软件包的作者已经决定(正如他在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|
+-+---------------------------------------------------------+---------------------------------------------------------+
看起来我们在同一时间写了我们的回应......事实上,Harrell使用称为'sfn'的内部函数调用'quantile()'函数,所以我认为我们可以通过调用'range()'来取代我们的结果,并覆盖内部函数,否? – chl 2010-09-22 14:29:27
@chl:你可以尝试,但我怀疑这很容易。这个函数(或者你使用的其他函数)可能会期望这三个分位数。 – 2010-09-22 16:05:44
是否必须在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
谢谢!其实我设法写了类似的东西,但没有“重塑”;你的解决方案看起来比我的要好得多:) – chl 2010-09-22 09:22:15
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
这产生如下表:
- 1. R - 摘要(数据)和摘要(数据$变量)的差异
- 2. Rails Asset Pipeline:当请求非摘要时返回摘要版本
- 3. Perforce更改列表摘要
- 4. 为Devise :: TokenGenerator更改摘要
- 5. 如何在R回归摘要中删除因子名称R
- 6. 摘要Logistic回归分析结果
- 7. 返回网页摘要使用Solr
- 8. 摘要如何处理返回对象
- 9. 摘要Python的
- 10. Mysql - 摘要表
- 11. 摘要生成
- 12. Java访问摘要实例变量
- 13. 每个API级别变更摘要?
- 14. PreferenceScreen android:摘要更新!
- 15. OpenKinect - FreenectDevice摘要?
- 16. MessageDigest摘要()方法
- 17. WiX,Windows Installer摘要?
- 18. 使用摘要数据中的R
- 19. R中的频率表摘要?
- 20. Mips中的摘要
- 21. javascript摘要函数
- 22. SQL查询摘要 -
- 23. R:格式数据帧摘要
- 24. 摘要ActiveRecord属性
- 25. 创建摘要Asynctask
- 26. Git状态摘要
- 27. SolverFactory.solve摘要选项
- 28. MySQL集团摘要
- 29. SAML响应摘要?
- 30. ASP.NET验证摘要
http://www.mail-archive.com/[email protected]/msg86002.html - 你可以做的一件事是操纵函数摘要本身并创建你自己的包有一个summary2函数:P – Gnark 2010-09-20 14:40:19
一个独立的例子真的会有帮助......特别是对于那些不熟悉'summary.formula'的我们。 – 2010-09-21 10:44:24
@Gnark我不太喜欢重写Frank Harrell的功能,除非我希望从他的LaTeX输出后端中受益。无论如何,它总是一个选项:) – chl 2010-09-22 09:24:54