2016-08-23 26 views
0

1つのベクトルが1つのセルに配置されているデータフレームの中に名前のベクトルの名前付きリストを変換する:私は、リストの名前のデータフレームに変換したいR - 私は名前のベクトルの名前付きリスト持って

my_list <- list('first'=c('foo_1'=7, 'bar_1'=3), 'second'=c('foo_2'=4, 'bar_2'=2, 'baz'=1)) 

を要素はデータフレームインデックスでなければならず、名前付きベクトルはデータフレームのセル値でなければなりません。 (my_vectors列または任意の同様の)このような何か:

      my_vectors 
first   'foo_1'=7, 'bar_1'=3 
second 'foo_2'=4, 'bar_2'=2, 'baz'=1 

私はこれをどのように行うことができますか?

ありがとうございました!

+0

はmy_listという( 'スタックを試してみてください) '。 – Psidom

答えて

1

私はあなたがそのようなことをしたいと思う理由はわからないんだけど、あなたが本当にに必要であれば、ここに一つの方法です:

library(dplyr) 
library(tidyr) 

# convert lists to data frame 
unlisted <- unlist(my_list) %>% data.frame 

# majority of data transformation 
unlisted <- mutate(unlisted, variable = rownames(unlisted), value = `.`) %>% 
    separate(variable, c('vector', 'item'), sep = '\\.') %>% 
    group_by(vector) %>% 
    summarize(my_vectors = paste(sprintf('%s = %i', item, value), collapse = ', ')) %>% 
    data.frame 

# remove superfluous "vector" column and move those values to row indices 
rownames(unlisted) <- unlisted$vector 
unlisted$vector <- NULL 

結果:

      my_vectors 
first   foo_1 = 7, bar_1 = 3 
second foo_2 = 4, bar_2 = 2, baz = 1 
関連する問題