Если я понимаю код, который вы показываете, и x
- это список, который вы хотите выбрать из , то это будет работать:
lapply(x, FUN = `[`, 3)
Объяснение:
lapply()
берет каждый компонент предоставленного списка и применяет к нему функцию.Фактически он извлекает x[[1]]
и применяет к нему FUN
, затем извлекает x[[2]]
и применяет к нему FUN
и так далее.Так что позаботится об этой части вашего кода: x[[1:140]]
.Вам просто нужно сделать экстракт из 3-х элементов, как применено FUN
.`[`
на самом деле является функцией в R, поэтому мы можем использовать ее как FUN
.Это должно быть указано как специальное имя.Последняя часть заключается в предоставлении аргументов для `[`()
, что мы делаем здесь, используя неназванный аргумент (3
в показанном вызове функции).
Пример:
> x <- list(A = letters[1:7], B = letters[1:7], C = letters[1:7])
> (newlist <- lapply(x, `[`, 3))
$A
[1] "c"
$B
[1] "c"
$C
[1] "c"
>
> ## or as a vector (not a list) result
> (newlist2 <- sapply(x, `[`, 3))
A B C
"c" "c" "c"