R でいくつかの変数を使用した plyr周波数テーブルの威力を発見しました が、それがどのように機能するかを理解するのにまだ苦労しています。
値をハードコーディングせずに、頻度と要約統計を組み合わせることができるテーブル (データ フレーム) を作成したいと思います。
ここにデータセットの例があります
require(datasets)
d1 <- sleep
# I classify the variable extra to calculate the frequencies
extraClassified <- cut(d1$extra, breaks = 3, labels = c('low', 'medium', 'high') )
d1 <- data.frame(d1, extraClassified)
私が探している結果は次のようになります。
require(plyr)
ddply(d1, "group", summarise,
All = length(ID),
nLow = sum(extraClassified == "low"),
nMedium = sum(extraClassified == "medium"),
nHigh = sum(extraClassified == "high"),
PctLow = round(sum(extraClassified == "low")/ length(ID), digits = 1),
PctMedium = round(sum(extraClassified == "medium")/ length(ID), digits = 1),
PctHigh = round(sum(extraClassified == "high")/ length(ID), digits = 1),
xmean = round(mean(extra), digits = 1),
xsd = round(sd(extra), digits = 1))
私の質問: 値をハードコーディングせずにこれを行うにはどうすればよいですか?
記録のために:私はこのコードを試しましたが、うまくいきません
ddply (d1, "group",
function(i) c(table(i$extraClassified),
prop.table(as.character(i$extraClassified))),
)
前もって感謝します