I have a dataframe that looks like this :
df=data.frame("Q1"=c("AA","BB","DD","AA"),
"Q2"=c(NA,"AA","EE","BB"),
"Q3"=c(NA,NA,"FF","EE"),
"Q4"=c(NA,NA,"AA",NA),
"Q5"=c(NA,NA,"BB",NA),
"Q6"=c(NA,NA,NA,NA))
Q1 Q2 Q3 Q4 Q5 Q6
1 AA <NA> <NA> <NA> <NA> NA
2 BB AA <NA> <NA> <NA> NA
3 DD EE FF AA BB NA
4 AA BB EE <NA> <NA> NA
That I would like to convert to a binary data.frame (NA to 0 and 1 if it is matching the column name in the precedent line)
df2=data.frame("AA"=c(1,1,1,1),
"BB"=c(0,1,1,1),
"CC"=c(0,0,0,0),
"DD"=c(0,0,1,0),
"EE"=c(0,0,1,1),
"FF"=c(0,0,1,0))
AA BB CC DD EE FF
1 1 0 0 0 0 0
2 1 1 0 0 0 0
3 1 1 0 1 1 1
4 1 1 0 0 1 0
This might be possible with tidyr but I actually don't know how. Thank you in advance for your help.