У меня есть список (например, A), который содержит количество элементов. Каждый элемент имеет тот же размер (например, 100 x 200). У меня есть вектор idx, длина которого равна 100, то же количество строк, что и элементы в списке. Я хочу создать новый список, который является подмножеством списка A, например, с idx == 1. Я использовал lapply и, похоже, работает, но я потерял имена элементов в списке. Можете ли вы предложить лучший способ достичь этого? Большое спасибоКак получить подмножество элементов в списке без потери имени элемента?
# Generate a list A
A = list()
for (i in 1:26){
A[[LETTERS[i]]] = matrix(runif(100*200,0,1),100,200)
}
# Generate a vector with 100 elements with integers between 1 and 5
idx = sample(1:5, 100, replace=T)
# Create subset list B from list A, where rows are idx==1
B = lapply(1:26, function(x) A[[x]][idx==1,])
# However, in list B, I have lost all the element names
Try 'lapply (A, функция (x) x [idx == 1,]) ' – akrun
@akrun - Спасибо – Lafayette