2017-10-16 7 views
-1

このコードを使用して、異なる値のグループの平均を計算しています。グラフ出力のNAを除外するためにna.rm = TRUEを使用しようとしています

> means <- aggregate(jots.xpc.txt$Cfxtn32, by=list(jots.xpc.txt$Tx), mean) 
> means 
    Group.1   x 
1 C1_Mac 0.04957707 
2 C1_MH 0.14721646 
3 C2_Mac 0.01389217 
4 C2_MH 0.03080142 
5 X1_Mac 0.04871321 
6 X1_MH 0.15913916 
7 X2_Mac 0.07951835 
8 X2_MH 0.08354484 
9 XB1_Mac 0.05090939 
10 XB1_MH 0.22035204 
11 XB2_Mac 0.05053910 
12 XB2_MH   NA 

しかし、NAをデータから除外したいので、na.rm = TRUEコマンドを使用しました。 mean.defaultで

> means <- aggregate(jots.xpc.txt$Cfxtn32, by=list(jots.xpc.txt$Tx), mean(na.rm=TRUE)) 

エラー(na.rm = TRUE):
引数 "x" の既定値はありませんし、不足している

誰かが私が間違ってやっているものを私に教えてもらえます? aggregatemeanにそれを渡すことができるように

+2

てみ '...平均、na.rm = TRUE)の代わりに'(通知はmean' '後には開口部ブラケット(PS式方法は芋おしっこがではありません – user20650

答えて

2

na.rm=Taggregate年代...引数に渡す必要があります。

> data1 <- data.frame(x = c(1,3,4,5,NA,7,NA,6), y = c('A','A','B','B','A','A','B','B')) 
> 
> aggregate(data1$x, FUN = mean, by = list(data1$y)) 
    Group.1 x 
1  A NA 
2  B NA 
> 
> 
> aggregate(data1$x, FUN = mean, by = list(data1$y), na.rm = T) 
    Group.1  x 
1  A 3.666667 
2  B 5.000000 

ありがとうございましたgregor言い換えのため。

+2

あなたのフレーズに推奨される編集: 'aggregate'の'に渡す必要があります。 'laply'や' aggregate'のような関数が 'na.rm'オプションを持っていると仮定する人が多すぎます。本当に引数を渡すことができます。使用される機能は何でも。 – Gregor

0

また、dplyrが正しく処理するように設計されている問題のタイプも正確です。だから、あなたも、このようにそれを行うことができます:

library(dplyr) 

means <- jots.xpc.txt %>% 
    group_by(Tx) %>% 
    summarise(Cfxtn32_mean = mean(Cfxtn32, na.rm = TRUE)) 
関連する問題