I have a list looks like this:
$ key_1
[1] "value_1" "value_2" "value_3"
$ key_2
[1] "value_1" "value_4" "value_5"
$ key_3
[1] "value_2" "value_5" "value_6"
...
...
lots of data
How to convert it to a two column data frame looks like this:
head(df)
Key Value
1 key_1 value_1, value_2, value_3
2 key_2 value_1, value_4, value_5
3 key_3 value_2, value_5, value_6
....
....
Thanks in advance
You can use stack to get a named list to dataframe and then use aggregate :
aggregate(values~ind, stack(lst), toString)
Using tidyverse functions.
tibble::enframe(lst) %>%
dplyr::mutate(value = purrr::map_chr(value, toString))
# name value
# <chr> <chr>
#1 key1 value_1, value_2, value_3
#2 key2 value_1, value_4, value_5
#3 key3 value_2, value_5, value_6
data
lst <- list(key1 = c("value_1", "value_2" ,"value_3"),
key2 = c("value_1", "value_4", "value_5"),
key3 = c("value_2", "value_5", "value_6"))
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With