2017-12-03 2 views
1

Ich möchte ein verschachteltes data.frame ähnlich der Verschachtelung im tidyr Paket erstellen. aber ich habe noch nicht meine Daten in einer data.frame, so kann ich nicht einfach df %>% group_by(thing) %>% nest() Ich habe 3 Listen, die den drei Spalten entsprechen, die ich versuche zusammen zu bringen. Siehe nachstehendes Beispiel:Erstellen Sie eine verschachtelte data.frame aus separaten Listen

library(tidyverse) 

student = c('bob', 'jane', 'sam') 
avg_score = c(95, 99, 80) 
details = lapply(1:3, 
      function(x) data.frame(answer = sample(c(TRUE, FALSE),10, TRUE), 
            question_num = 1:10)) 

Jetzt ist es das, was würde ich tun:

my_data_frame = data.frame(student = student, 
          avg_score = avg_score, 
          details = details) 

Aber natürlich dies nicht funktionieren wie details ist keine Liste von atomics, sondern eine Liste von data.frame s. Ich habe auch versucht:

my_data_frame = data.frame(student = student, 
          avg_score = avg_score, 
          details = nest(details)) 
+0

zu verwenden, um eine 'list' Spalte in' data.frame' mit 'I' 'd.h Details = I (Details) speichern kann)' – akrun

Antwort

2

Für diejenigen von Ihnen, die in ein ähnliches Problem laufen. der Schlüssel ist ein tibble anstelle eines Sie data.frame

library(tidyverse) 

student = c('bob', 'jane', 'sam') 
avg_score = c(95, 99, 80) 
details = lapply(1:3, function(x) data.frame(answer = sample(c(TRUE, FALSE), 10, TRUE), question_num = 1:10)) 

my_nested_data_frame = tibble(student = student, avg_score = avg_score, details = details) 
Verwandte Themen