1

plyr-packge の summarise() を使用して、因子内の各レベルの出現率を計算しようとしています。編集: ピューロマイシン データはベース R インストールにあります

私のデータは次のようになります。

library(plyr)
data.p <- as.data.frame(Puromycin[,3])
names(data.p) <- "Treat.group" 

私はこれをやった:

    summarise(  data.p, "Frequencies"= count(data.p), 
"Percent" = count(data.p)/ sum(count(data.p)[2] ))

そして、これを得ました:

  Frequencies.Treat.group Frequencies.freq Percent.Treat.group Percent.freq
1                 treated               12                  NA    0.5217391
2               untreated               11                  NA    0.4782609 

しかし、3.列を生成したくありません。不要でNAのみ表示。

そのNA列を取得しないようにコードを書くにはどうすればよいですか?

どんなポインタでも大歓迎です:)

4

1 に答える 1

4

あなたのエラーは次から来ていました:

count(data.p)/ sum(count(data.p)[2] )

分子を見ると、次のようになります。

R> count(data.p)
  Treat.group freq
1     treated   12
2   untreated   11

したがって、最初の列を数値で割っていたため、警告が発生しました。つまりtreated/12、 が得られNAます。これを避けるには、 の 2 番目の列を選択しますcount(data.p)

summarise(data.p, 
             "Frequencies"= count(data.p), 
             "Percent" = count(data.p)[,2]/ sum(count(data.p)[2]))
于 2013-01-23T08:56:53.253 に答える