У меня есть список векторов (mylist
):Subset список векторов с вектором позиций
a <- c(1,2,3,4)
b <- c(5,6,7,8)
c <- c(9,10,11,12)
mylist <- list(a,b,c)
У меня также есть вектор позиций (mypos
):
mypos <- c(1,2,3)
Я хотел бы используйте mypos
, чтобы указать положение элементов для подмножества каждого вектора mypos
так, чтобы оно возвращалось:
[1] 1 6 11
Я попытался с помощью lapply так:
lapply(mylist, "[", mypos)
но это возвращает элементы 1, 2 и 3 каждого вектора:
[[1]]
[1] 1 2 3
[[2]]
[1] 5 6 7
[[3]]
[1] 9 10 11
Я также попытался:
lapply(mylist, subset, mypos)
Но это возвращает ошибку, что подмножество должно быть логическим
'mapply (\' [\ ', mylist, mypos]', предполагая, что все в порядке с объединенными результатами. – Frank
Это единственное, спасибо. Я обязательно прочитаю «Map()» для будущего использования. –