в базе R:
дполагаю, что это просто, но я просто не могу понять это. Мне нужно сгладить структуру второго уровня и вставить имя / ключ списка в вектор на том же уровне, что и другие векторы. Текущая структураmyList
является
$ 13454:List of 30
..$ subjectId : num 187
..$ procedureId : num 3
..$ procedureSampleId: num 3
..$ timestamp : chr "2017-04-21T17:15:10.911Z"
..$ n001 : num -999
..$ n002 : num -999
..$ gender : num 1
..$ age : num 18
$ 13455:List of 30
..$ subjectId : num 188
..$ procedureId : num 3
..$ procedureSampleId: num 3
..$ timestamp : chr "2017-04-21T17:15:10.913Z"
..$ n001 : num -999
..$ n002 : num -999
..$ gender : num -999
..$ age : num 28
в то время как это структура, которую я ищу
$ ID : chr '13455' '13455'
$ subjectId : num 187 188
$ procedureId: : num 3 3
и так далее
Я пытался достичь этого путем:
myList2 <- sapply(names(myList), function(y){
y <- unlist(c('ID' = y, myList[[y]]), use.names = TRUE)
})
Но я получаю полный транспонированный результат того, что мне нужно. Я мог бы пойтиt(myList2)
но я хочу понять, как это сделать правильно. Спасибо!
РЕДАКТИРОВАТЬ: Воспроизводимые данные:
myList <- list('13454' = list('subjectId' = 187, 'procedureId' = 3, 'procedureSampleId' = 3, 'timestamp' = "2017-04-21T17:15:10.911Z", 'n001' = -999, 'n002' = -999, 'gender' = 1, 'age' = 18), '13455' = list('subjectId' = 188, 'procedureId' = 3, 'procedureSampleId' = 3, 'timestamp' = "2017-04-21T17:15:10.913Z", 'n001' = -999, 'n002' = -999, 'gender' = -999, 'age' = 28))