疫学データ (48232 行 74 列) を含む大きなデータ フレームがあります。それを .csv ファイルとして R に読み込み、コマンド na.strings="NA" を使用します。YES/NO の回答が 0=YES、1=NO でコード化された二分変数がいくつかあります。これらの変数には NA も含まれます。すべての列を含む新しいデータ フレームを作成したいのですが、Diab=NA を削除するのではなく、 Diab =0 のサンプルを削除します。これには角括弧を使用します。これを行うと、新しいデータ フレームの次元は正しくなりますが、Diab=NA であったすべてのサンプルは、新しいデータ フレームの他のすべての二分変数に対して NA になります。この問題を解決するにはどうすればよいですか? 私は小さな例を生成しようとしました:
Diab<-c(0,NA,1,1,1,0,0,NA, NA)
INF<-c(0,1,1,1,1,1,NA, 0,1)
HYP<-c(NA, 0,1,0,NA,1,1,1,1)
a<-data.frame(cbind(Diab, INF, HYP))
dim(a)
table(a$Diab,a$HYP, exclude=NULL, dnn=c("Diab", "HYP"))
#In total 2 persons HYP=0, 5 persons HYP=1, 2 persons HYP=NA.
b<-a[!a$Diab==0,]
dim(b)
##When removing those Diab=0 I'm expecting to still have 2 persons HYP=0,
#3 persons HYP=1 and 1 person HYP=NA, but not...
table(b$HYP, exclude=NULL, dnn="HYP")
#6 persons in total but those that were Diab=NA are now turned into HYP=NA??
#The same happens with the INF variable.
table(a$Diab,a$INF, exclude=NULL, dnn=c("Diab", "INF"))
table(b$INF, exclude=NULL, dnn="INF")
ミステリアスなNA行に関するこのSOの質問と、サブセット化とブラケット化に関するこのメーリングリストのスレッドを読みまし たが、残念ながら、少し慣れているように見えても役に立ちません...
私はどんな助けにも非常に満足しています! ありがとう、シャーロッタ