У меня есть несколько списков, хранящихся в списках. Третий уровень содержит вектор с числовыми значениями и некоторые НС.Функция pmax в списках списков
Я хочу использовать pmax для поиска наивысшего значения между двумя векторами, которые имеют одинаковое положение.
pmax(low_all_res[[1]][[1]][[1]], high_all_res[[1]][[1]][[1]])
Это работает и выводит список. Но я хочу сделать это для большого количества списков с разными индексами. В основном я хочу сравнить low_all_res и high_all_res и получить максимальное значение между ними.
Моя структура данных выглядит следующим образом:
low_all_res[[1:5]][[1:5]][[1:10]]
И это списки в последнем списке, я хочу, чтобы сравнить между низким и высоким.
Затем я попробовал:
comb_all_res <- list()
for (k in 1:5){
for(m in 1:5){
for (i in 1:10){
comb_all_res[[k]][[m]][[i]] <- pmax(low_all_res[[k]][[m]][[i]], high_all_res[[k]][[m]][[i]])
}}}
Error in `*tmp*`[[k]] : subscript out of bounds
Но получаю ошибку, как показано на рисунке.
Я также пробовал подход с временными файлами, но я думаю, что я использую неправильные операторы индексирования для файлов tmp. Этот код выглядит так, но я пробовал много разных подходов. Код работает, но я получаю только результаты для последних 10 векторов.
comb_all_res <- list()
tmp_low <- list()
tmp_high <- list()
tmp_low2 <- list()
tmp_high2 <- list()
for (i in 1:10){
for (k in 1:5){
tmp_low <- low_all_res[[k]]
tmp_high <- high_all_res[[k]]
for(m in 1:5){
tmp_low2 <- tmp_low[[m]]
tmp_high2 <- tmp_high[[m]]
comb_all_res[[i]] <- pmax(tmp_low2[[i]], tmp_high2[[i]])
}}}
Может кто-нибудь критиковать мой код, так что я могу получить его прямо?
Можете ли вы привести некоторый воспроизводимый пример (например, некоторые списки)? – DatamineR
Это неверно из-за осмотра: 'low_all_res [[1: 5]] [[1: 5]] [[1:10]]'. Функция [["не принимает векторы с несколькими элементами. Таким образом, это не может быть вашими данными, и вам нужно отправить пример с кодом, который бы не выдавал ошибку. –
Я новичок в Stackexchange. Я просто использовал 1: 5, чтобы показать, что есть 5 элементов. Это вложенный список. Список 1 имеет 5 элементов, которые представляют собой списки с каждыми 5 элементами, которые находятся в структуре дерева. Мои данные находятся в конце этого дерева. и 10 векторов с числами (я попытался показать, что с 1:10 в конце). Я приведу примерный код завтра, потому что я точно не знаю, как это сделать прямо сейчас. –