Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

convert list of elements with repeating names to data.frame in r

Tags:

list

r

I have a list of elements with repeating names

l <- list(name = c("lol", "kek", "pip"),
          values = c(1,2,3),
          name = c("raph", "mike", "leo"),
          values = c(4,2,1))

How to convert it to a data frame like this in the simplest way?

data.frame(name = c("lol", "kek", "pip", "raph", "mike", "leo"),
           values = c(1,2,3,4,2,1))

  name values
1  lol      1
2  kek      2
3  pip      3
4 raph      4
5 mike      2
6  leo      1
like image 384
trilisser Avatar asked Oct 29 '25 02:10

trilisser


1 Answers

in Base R you can do:

unstack(stack(l))
  name values
1  lol      1
2  kek      2
3  pip      3
4 raph      4
5 mike      2
6  leo      1

To maintain the underlying data type, use:

type.convert(unstack(stack(l)), as.is =TRUE)
  name values
1  lol      1
2  kek      2
3  pip      3
4 raph      4
5 mike      2
6  leo      1
like image 120
KU99 Avatar answered Oct 31 '25 16:10

KU99



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!