2016-05-13 3 views
2

私は、4つのレベル(HD、HE、EP、ET)を持つカテゴリープレディクタ(ctng)を使用してデータセット上で一方向性アノーバを実行しようとしており、TukeyHSDテストで分析しています。しかし、私の予測変数にはいくつかの欠損値があり、これらを分析から除外したい。これらは""という別のレベルとして読み込まれています。ここに私のコードは次のようになります。私はGE.CATIEでブランク値を「NA」に変更しようとしたaov()解析で予測変数から欠損データを除外するにはどうすればよいですか?

> GEaov<-aov(ctng~allv$GE.CATIE) 
> TukeyHSD(GEaov) 
    Tukey multiple comparisons of means 
    95% family-wise confidence level 

Fit: aov(formula = ctng ~ allv$GE.CATIE) 

$`allv$GE.CATIE` 
      diff   lwr   upr  p adj 
EP- 0.04003815 -0.147479895 0.227556198 0.9775550 
ET- -0.06458370 -0.400163176 0.270995782 0.9847460 
HD- 0.12445374 -0.004557746 0.253465218 0.0647330 
HE- -0.17725081 -0.350691202 -0.003810417 0.0423469 
ET-EP -0.10462185 -0.461182978 0.251939281 0.9301554 
HD-EP 0.08441558 -0.092123972 0.260955141 0.6873773 
HE-EP -0.21728896 -0.428485131 -0.006092791 0.0401655 
HD-ET 0.18903743 -0.140533172 0.518608038 0.5190113 
HE-ET -0.11266711 -0.462029948 0.236695724 0.9039447 
HE-HD -0.30170455 -0.463212338 -0.140196753 0.0000038 

しかし、それは今では予測因子として「NA」をカウント除いて同じことを行います。 na.action=na.omitは何も変更されません。

答えて

1
# create some data 
> xy <- data.frame(var1 = 1:3, var2 = c("a", "b", "")) 

# find rows that have `""` in `var2` 
> xy$var2 == "" 
[1] FALSE FALSE TRUE 

# subset these rows from the data.frame's variable `var2` 
> xy[xy$var2 == "", "var2"] 
[1] 
Levels: a b 

# change `""` to `NA` (not `"NA"`) 
> xy[xy$var2 == "", "var2"] <- NA 

# level `""` is now "orphaned". drop it using `droplevels()` 
# (see `levels(xy$var2)`) 
> droplevels(xy) 
    var1 var2 
1 1 a 
2 2 b 
3 3 <NA> 

NAsエントリは自動的にaovで削除されます。

関連する問題