Мне было интересно, как наилучшим образом использовать семейство функций lapply famliy (или plyr), чтобы взять вектор, применить функцию к элементам и вернуть список, имена совпадают с значениями, указанными в первом аргументе. Так, например, если я делаю:lapply over vector, использовать значения как имена списков вывода
lapply(letters[1:3], function(x) NULL)
[[1]]
NULL
[[2]]
NULL
[[3]]
NULL
Я хотел бы вернуться, вместо [[1]], [[2]], [[3]] в качестве имени (или скорее просто обычный индекс) списка, буквы «a», «b» и «c» в качестве имен выходного списка.
Я знаю, что могу сделать это (How to create a list with names but no entries in R/Splus?), чтобы создать список заранее с правильными именами, но мне интересно, могу ли я сделать это без предварительного создания списка с правильными именами.
Спасибо, Matt
Спасибо, что работает отлично! – mpettis
Возможно также установить 'simplify = FALSE', чтобы сделать поведение более последовательным, например' lapply() 's. –
Josh O'Brien: Я собирался ответить на проблему, когда я заменяю «Null» словом, скажем, строкой, она сворачивается из списка в вектор. Ваш комментарий адресует, что, спасибо. – mpettis