У меня есть сложный иерархический набор списков, в котором хранятся несколько матриц.Я хотел бы сохранить все эти матрицы либо в массиве, либо в списке.
Я говорю «массив» или «список», потому что я не уверен, но, вероятно, сохранение «пути» к матрице в массиве будет быстрее.чем дублирование всех матриц в новый список.
Вот как создать иерархию списка:
Kings = c('Alfred the Great', 'Edgar the Peaceful', 'Edmund Ironside', 'Harold Godwinson')
DataSets <- c('KingDF', 'KingDFMtx', 'KingMtx')
KingList <- lapply(Kings, function(K) {
ret <- rep(tibble(setNames(vector("list", length(DataSets)),
DataSets)),
length(Kings))
setNames(ret,
paste0(K, " vs ", Kings))
})
names(KingList) <- Kings
str(KingList)
Так что это даст вам список королей со списком внутри каждого изэти списки, сравнивающие королей, и внутри них список различных форматов данных.
Так, например, у меня есть список «путь», который выглядит следующим образом:
KingsList[['Alfred the Great']][['Alfred the Great vs Edgar the Peaceful']][['KingMtx']]
и другой, который выглядит так:
KingsList[['Edmund Ironside']][['Edmund Ironside vs Harrold Goodwinson']][['KingMtx']]
И я хочумассив или список, который собирает все матрицы 'KingsMtx' с намерением использовать это для создания одной большой унифицированной матрицы, которая включает все данные.
Однако функция search.list
возвращает список каждой отдельной точки данныхвнутри матрицы с именем «KingMtx», таким образом возвращая беспорядочную сотню целых чисел в довольно бесполезном списке.