I am trying to create a list of factors that have a binary response and have been using cast.
DF2 <- cast(data.frame(DM), id ~ region)
names(DF2)[-1] <- paste("region", names(DF2)[-1], sep = "")
The problem I am getting is that the responses are the frequency of which the answer comes up, while I'm looking for just whether or not it matches.
For example I have:
id region
 1   2
 1   3
 2   2
 3   1
 3   1
What I'd like is:
id region1 region2 region3
1   0          1     1
2   0          1     0
3   1          0     0
                I kind of prefer dcast from reshape2:
library(reshape2)
dat <- read.table(text = "id region
 1   2
 1   3
 2   2
 3   1
 3   1",header = TRUE,sep = "")
dcast(dat,id~region,fun.aggregate = function(x){as.integer(length(x) > 0)})
  id 1 2 3
1  1 0 1 1
2  2 0 1 0
3  3 1 0 0
There may be a smoother way to do that, but I'll be honest I don't cast stuff all that often.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With