0

次の点を考慮してください。

df = data.frame(x=1:10, y = (1:10) %% 2 == 0)

私は次のようなものを呼びたいです

summarize(x ~ y, data = df)

次のような出力を取得します

       FALSE TRUE
Mean   5     6
Count  5     5

基本的に、私は何かが欲しいのですxtabsが、カスタマイズ可能な出力を備えています。例xtabs(x ~ y, data = df, FUN = c(mean, length))

そのようなものは存在しますか?

4

2 に答える 2

4

aggregateベースRで探していますが、利用可能なオプションはたくさんあります。ではaggregate、物事を正しく行うために少し作業を行う必要がありますが、基本的な考え方は次のとおりです。

> aggregate(x ~ y, df, function(x) cbind(mean(x), length(x)))
      y x.1 x.2
1 FALSE   5   5
2  TRUE   6   5

代替案を開始するには、「data.table」を次に示します。

> library(data.table)
> DT <- data.table(df)
> DT[, list(Mean = mean(x), Count = length(x)), by = "y"]
       y Mean Count
1: FALSE    5     5
2:  TRUE    6     5

そしてプライヤー:

> library(plyr)
> ddply(df, .(y), summarize, Mean = mean(x), Count = length(x))
      y Mean Count
1 FALSE    5     5
2  TRUE    6     5
于 2013-03-02T16:23:49.430 に答える
1

テーブルパッケージを見てください。これにより、数式ステートメントでテーブルの形状、スタイル、およびサマリーメジャーをすべて指定できます。次のような式を使用する場合:

group + (n=1) ~ (var1 + var2)*(mean+sd)

次に、各レベルのgroup行と下部の合計行を含むテーブルを取得します。列は、との平均と標準偏差にvar1なりvar2ます(合計4列)。

列とヘッダーのフォーマットに使用できる追加のオプションがあります。独自に作成した関数を使用して要約を実行したり、カウントやパーセンテージなどを実行したりできます。

于 2013-03-02T19:04:43.347 に答える