是否有一種簡單的方法可以從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. 摘要{Hmisc}滴類別?
- 2. R - 摘要(數據)和摘要(數據$變量)的差異
- 3. Rails Asset Pipeline:當請求非摘要時返回摘要版本
- 4. 更改首選項摘要
- 5. 爲Devise :: TokenGenerator更改摘要
- 6. Perforce更改列表摘要
- 7. 如何在R迴歸摘要中刪除因子名稱R
- 8. 摘要Logistic迴歸分析結果
- 9. 如何僅從r中的迴歸摘要中返回自由度?
- 10. android偏好返回到默認摘要
- 11. rails asset_path()不再返回摘要版本
- 12. 從lme摘錄N摘要
- 13. R,函數返回文件和相同的文件的摘要
- 14. 返回網頁摘要使用Solr
- 15. Crypt返回散列或摘要?
- 16. 摘要如何處理返回對象
- 17. 摘要Python的
- 18. Mysql - 摘要表
- 19. 摘要生成
- 20. 錯誤:「未定義變量:摘要」
- 21. Java訪問摘要實例變量
- 22. 修改html驗證摘要
- 23. FlexibleJDBCRealm和摘要
- 24. 每個API級別變更摘要?
- 25. 使用SpreadSheet API修訂變更摘要
- 26. PreferenceScreen android:摘要更新!
- 27. tflearn learning_rate摘要
- 28. OpenKinect - FreenectDevice摘要?
- 29. 摘要多頁
- 30. Android ListView摘要
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