Convert R list to dataframe with missing/NULL elements

后端 未结 2 1509
生来不讨喜
生来不讨喜 2020-12-09 10:21

Given a list:

alist = list(
  list(name=\"Foo\",age=22),
  list(name=\"Bar\"),
  list(name=\"Baz\",age=NULL)
 )

what\'s the best way to con

2条回答
  •  无人及你
    2020-12-09 10:51

    A comment mentioned wanting only a single loop, which can be achieved with @flodel's answer just by putting the body of the two loops together:

    rbind.fill(lapply(alist, function(f) {
      as.data.frame(Filter(Negate(is.null), f))
    }))
    

    giving

      name age
    1  Foo  22
    2  Bar  NA
    3  Baz  NA
    

提交回复
热议问题