ここで次の問題に取り組んでいます。次のようなデータフレームがあります。
aa<-c(0,0,0,1,1,0,0)
bb<-c(1,1,0,0,1,0,1)
cc<-c(0,1,0,0,0,1,0)
d<-data.frame(aa,bb,cc)
データは常にバイナリであり、不在/在席データのコードです。私が望んでいるのは、特定の仮定を満たす変数のすべての可能な組み合わせを含む新しい列です。このデータフレームの場合、次のようになります
d$aabb<-ifelse(d$aa=="1"&d$bb=="1"&d$cc=="0",1,0) #aa=1,bb=1,cc=0
d$aacc<-ifelse(d$aa=="1"&d$cc=="1"&d$bb=="0",1,0) #aa=1,bb=0,cc=1
d$bbcc<-ifelse(d$bb=="1"&d$cc=="1"&d$aa=="0",1,0) #aa=0,bb=1,cc=0
d$daabbcc<-ifelse(d$aa=="1"&d$bb=="1"&d$cc=="1",1,0) #aa=bb==cc=1
しかし、私は 30 の列を持っており、それらをすべて手作業で入力したくありません。結果の列名が元の列名の組み合わせである場合など、別の良い点があります(aa+bb->aabb)
。
関数を見ましたexpand.grid()
が、これは私が探していたものではありませんでした よろしくお願いします