मैं निम्नलिखित सूची को डेटाफ्रेम में परिवर्तित करना चाहता हूं।

test <- list(list("a",c("b","c","d"),character(0)),list("j",c("r","s"),character(0)),list("h",character(0),"i"))

मैंने निम्नलिखित की कोशिश की:

df.test <- do.call(rbind,Map(data.frame, V1=sapply(test, "[[", 1),V2=sapply(test, "[[", 2),V3=sapply(test, "[[", 3)))

लेकिन यह चरित्र (0) युक्त नेस्टेड सूचियों के साथ काम नहीं करता है। एक संतोषजनक आउटपुट कुछ इस तरह दिखता है:

     V1  V2  V3
  1  a   b   NA
  2  a   c   NA
  3  a   d   NA
  4  j   r   NA
  5  j   s   NA
  6  h   NA  i

अग्रिम में बहुत धन्यवाद।

1
NBK 26 अप्रैल 2018, 22:30

1 उत्तर

सबसे बढ़िया उत्तर
library(tidyverse)
test %>% 
  map_df(~.x %>% 
           map(~if(length(.)) . else NA) %>% 
           do.call(what = cbind) %>% 
           as_tibble) 

देता है

  V1    V2    V3   
  <chr> <chr> <chr>
1 a     b     NA   
2 a     c     NA   
3 a     d     NA   
4 j     r     NA   
5 j     s     NA   
6 h     NA    i   
3
IceCreamToucan 27 अप्रैल 2018, 04:28