I want to create 26 data frames from a raw data (dat) I have based on certain condition. dat1 is the data where zipid1 = 1, dat2 is the data where zipid2 = 1, ect..
My current data looks like this:
#### create dummy data ------------------------------------------------------------------------
dat <- data.frame(
outc1 = rnorm(10, mean = 1, sd = 0.5),
outc2 = runif(10, min = 0.2, max = 1),
zipid1 = sample(c(1, 0), 10, replace = T),
zipid2 = sample(c(1, 0), 10, replace = T),
zipid3 = sample(c(1, 0), 10, replace = T),
zipid4 = sample(c(1, 0), 10, replace = T),
zipid5 = sample(c(1, 0), 10, replace = T)
)
And my want data looks liks this:
#### want data looks like this -----------------------------------------------------------------
dat1 <- dat %>%
filter(zipid1 == 1)
dat2 <- dat %>%
filter(zipid2 == 1)
dat3 <- dat %>%
filter(zipid3 == 1)
dat4 <- dat %>%
filter(zipid4 == 1)
dat5 <- dat %>%
filter(zipid5 == 1)
In reality I have zipid1-zipid26, how can I write a concise code to create 26 datasets at once?
Thanks!!