Преобразование списка с несколькими столбцами в фрейм данных

У меня есть список с несколькими столбцами в каждом объекте списка. Я хочу извлечь два столбца и преобразовать каждый объект в одну строку, потому что я хочу использовать cbind () this с другим фреймом данных, который имеет такое же количество строк, что и объекты.

Вот мой список:

[[1]]
                                                 spotify                                                      href                     id
1 https://open.spotify.com/artist/0TnOYISbd1XYRBk9myaseg https://api.spotify.com/v1/artists/0TnOYISbd1XYRBk9myaseg 0TnOYISbd1XYRBk9myaseg
2 https://open.spotify.com/artist/2cy1zPcrFcXAJTP0APWewL https://api.spotify.com/v1/artists/2cy1zPcrFcXAJTP0APWewL 2cy1zPcrFcXAJTP0APWewL
           name   type                                   uri
1       Pitbull artist spotify:artist:0TnOYISbd1XYRBk9myaseg
2 Gente De Zona artist spotify:artist:2cy1zPcrFcXAJTP0APWewL


[[2]]
                                                 spotify                                                      href                     id
1 https://open.spotify.com/artist/0TnOYISbd1XYRBk9myaseg https://api.spotify.com/v1/artists/0TnOYISbd1XYRBk9myaseg 0TnOYISbd1XYRBk9myaseg
2 https://open.spotify.com/artist/1noWnd8QFQD9VLxWEeo4Zf https://api.spotify.com/v1/artists/1noWnd8QFQD9VLxWEeo4Zf 1noWnd8QFQD9VLxWEeo4Zf
         name   type                                   uri
1     Pitbull artist spotify:artist:0TnOYISbd1XYRBk9myaseg
2 Don Miguelo artist spotify:artist:1noWnd8QFQD9VLxWEeo4Zf

[[3]]
                                                 spotify                                                      href                     id
1 https://open.spotify.com/artist/0TnOYISbd1XYRBk9myaseg https://api.spotify.com/v1/artists/0TnOYISbd1XYRBk9myaseg 0TnOYISbd1XYRBk9myaseg
2 https://open.spotify.com/artist/7iJrDbKM5fEkGdm5kpjFzS https://api.spotify.com/v1/artists/7iJrDbKM5fEkGdm5kpjFzS 7iJrDbKM5fEkGdm5kpjFzS
3 https://open.spotify.com/artist/37G8DfNgO4mQ3PKh5droSo https://api.spotify.com/v1/artists/37G8DfNgO4mQ3PKh5droSo 37G8DfNgO4mQ3PKh5droSo
                    name   type                                   uri
1                Pitbull artist spotify:artist:0TnOYISbd1XYRBk9myaseg
2                Sensato artist spotify:artist:7iJrDbKM5fEkGdm5kpjFzS
3 Osmani Garcia "La Voz" artist spotify:artist:37G8DfNgO4mQ3PKh5droSo

[[4]]
                                                 spotify                                                      href                     id
1 https://open.spotify.com/artist/2cy1zPcrFcXAJTP0APWewL https://api.spotify.com/v1/artists/2cy1zPcrFcXAJTP0APWewL 2cy1zPcrFcXAJTP0APWewL
2 https://open.spotify.com/artist/0TnOYISbd1XYRBk9myaseg https://api.spotify.com/v1/artists/0TnOYISbd1XYRBk9myaseg 0TnOYISbd1XYRBk9myaseg
           name   type                                   uri
1 Gente De Zona artist spotify:artist:2cy1zPcrFcXAJTP0APWewL
2       Pitbull artist spotify:artist:0TnOYISbd1XYRBk9myaseg

[[5]]
                                                 spotify                                                      href                     id
1 https://open.spotify.com/artist/0TnOYISbd1XYRBk9myaseg https://api.spotify.com/v1/artists/0TnOYISbd1XYRBk9myaseg 0TnOYISbd1XYRBk9myaseg
2 https://open.spotify.com/artist/5fjXwEPUkg5ucxmw4TpurV https://api.spotify.com/v1/artists/5fjXwEPUkg5ucxmw4TpurV 5fjXwEPUkg5ucxmw4TpurV
     name   type                                   uri
1 Pitbull artist spotify:artist:0TnOYISbd1XYRBk9myaseg
2   Micha artist spotify:artist:5fjXwEPUkg5ucxmw4TpurV

[[6]]
                                                 spotify                                                      href                     id
1 https://open.spotify.com/artist/0TnOYISbd1XYRBk9myaseg https://api.spotify.com/v1/artists/0TnOYISbd1XYRBk9myaseg 0TnOYISbd1XYRBk9myaseg
2 https://open.spotify.com/artist/7wU2WGCJ8HxkekHHE2QLul https://api.spotify.com/v1/artists/7wU2WGCJ8HxkekHHE2QLul 7wU2WGCJ8HxkekHHE2QLul
     name   type                                   uri
1 Pitbull artist spotify:artist:0TnOYISbd1XYRBk9myaseg
2   Fuego artist spotify:artist:7wU2WGCJ8HxkekHHE2QLul

Поэтому я в основном хочу вызвать 3-й и 4-й столбцы в каждой сущности в списке и получить результат в кадре данных. Поскольку количество строк различно для каждой сущности списка, я хочу объединить каждую сущность в свою собственную строку в новом фрейме данных с двумя столбцами: id и name.

Цель состоит в том, чтобы окончательный результат выглядел так:

                                           id                           name
0TnOYISbd1XYRBk9myaseg, 2cy1zPcrFcXAJTP0APWewL        Pitbull, Gente De Zona
0TnOYISbd1XYRBk9myaseg, 1noWnd8QFQD9VLxWEeo4Zf          Pitbull, Don Miguelo
0TnOYISbd1XYRBk9myaseg, 7iJrDbKM5fEkGdm5kpjFzS, 37G8DfNgO4mQ3PKh5droSo Pitbull, Sensato, Osmani Garcia "La Voz"
2cy1zPcrFcXAJTP0APWewL, 0TnOYISbd1XYRBk9myaseg        Gente De Zona, Pitbull
0TnOYISbd1XYRBk9myaseg, 5fjXwEPUkg5ucxmw4TpurV                Pitbull, Micha
0TnOYISbd1XYRBk9myaseg, 7wU2WGCJ8HxkekHHE2QLul                Pitbull, Fuego

person nak5120    schedule 11.07.2017    source источник
comment
попробуйте do.call(rbind,lapply(lst,function(x) x[,2:3])), где lst будет вашим списком   -  person Val    schedule 11.07.2017


Ответы (1)


Мы можем пройти через list с помощью lapply

do.call(rbind, lapply(lst, function(x) do.call(cbind, lapply(x[c('id', 'name')], toString))))
person akrun    schedule 11.07.2017