library(magrittr)
library(plyr)
l <- structure(list(`4` = c("Dining Room", "Pre-War", "Laundry in Building",
"Dishwasher", "Hardwood Floors", "Dogs Allowed", "Cats Allowed"
), `6` = c("Doorman", "Elevator", "Laundry in Building", "Dishwasher",
"Hardwood Floors", "No Fee"), `9` = c("Doorman", "Elevator",
"Laundry in Building", "Laundry in Unit", "Dishwasher", "Hardwood Floors"
), `10` = list(), `15` = c("Doorman", "Elevator", "Fitness Center",
"Laundry in Building")), .Names = c("4", "6", "9", "10", "15" ))
l
## $`4`
## [1] "Dining Room" "Pre-War" "Laundry in Building"
## [4] "Dishwasher" "Hardwood Floors" "Dogs Allowed"
## [7] "Cats Allowed"
##
## $`6`
## [1] "Doorman" "Elevator" "Laundry in Building"
## [4] "Dishwasher" "Hardwood Floors" "No Fee"
##
## $`9`
## [1] "Doorman" "Elevator" "Laundry in Building"
## [4] "Laundry in Unit" "Dishwasher" "Hardwood Floors"
##
## $`10`
## list()
##
## $`15`
## [1] "Doorman" "Elevator" "Fitness Center"
## [4] "Laundry in Building"
x = l %>%
lapply(as.list) %>%
lapply(as.data.frame, stringsAsFactors = FALSE) %>%
do.call(rbind.fill, .)
x[] = !is.na(x)
x
## X.Dining.Room. X.Pre.War. X.Laundry.in.Building. X.Dishwasher.
## 1 TRUE TRUE TRUE TRUE
## 2 FALSE FALSE TRUE TRUE
## 3 FALSE FALSE TRUE TRUE
## 4 FALSE FALSE TRUE FALSE
## X.Hardwood.Floors. X.Dogs.Allowed. X.Cats.Allowed. X.Doorman.
## 1 TRUE TRUE TRUE FALSE
## 2 TRUE FALSE FALSE TRUE
## 3 TRUE FALSE FALSE TRUE
## 4 FALSE FALSE FALSE TRUE
## X.Elevator. X.No.Fee. X.Laundry.in.Unit. X.Fitness.Center.
## 1 FALSE FALSE FALSE FALSE
## 2 TRUE TRUE FALSE FALSE
## 3 TRUE FALSE TRUE FALSE
## 4 TRUE FALSE FALSE TRUE