1

使用しているプログラム

私は統計プログラムRを使用していくつかのデータを分析しており、おそらくかなり単純な質問があります。

問題の背景

という数値でいっぱいの変数がありますstudy_data$LN_reviewedstudy_data$Genderまた、研究の各被験者の性別を持つ という変数もあります。性別で層別化された簡単な要約統計を計算したいと思います。これは、以下に示すコードを使用して簡単に実行できます。

> by(study_data$LN_reviewed, study_data$Gender, summary)

study_data$Gender: FEMALE
Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
2.00   13.00   19.00   27.77   35.50  125.00 
------------------------------------------------
study_data$Gender: MALE
Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
1.00   12.00   19.00   26.98   34.00  122.00 

私の質問

Rでこの情報を消化しやすい形式で表示するにはどうすればよいですか? 具体的には、"FEMALE" と "MALE" というタイトルの 2 つの行と、"Min."、"1st Qu."、"Median"、"Mean"、"3rd Qu." というタイトルの 6 つの列を含むテーブルが必要です。 、および「最大」は、以下に示すとおりです。

       Min. 1st Qu.  Median    Mean 3rd Qu.    Max.
FEMALE 2.00   13.00   19.00   27.77   35.50  125.00
MALE   1.00   12.00   19.00   26.98   34.00  122.00

私は自分でそれを解決しようとしてしばらく時間を費やしましたが、解決策を見つけることができませんでした。

4

2 に答える 2

4

do.call(rbind , by(study_data$LN_reviewed, study_data$Gender, summary))

于 2013-05-04T17:45:14.763 に答える
1

これが plyr の目的 (/ または大きなデータフレームの場合は dplyr )、Split-Apply-Combineパラダイムです。

require(plyr)

summary_by_gender <- function(...) {
                         ss <- summary(...)
                         return(ftable(ss, col.vars=names(ss))
                     }

ddply(study_data, .(Gender), summarize, summary_by_gender(LN_reviewed) )

(サマリー列の名前を変更するのを防ぐために、わずかなハックが必要でした。そのようなもので、データでテストすることはできません。)

于 2014-03-09T17:02:44.597 に答える