Как выбрать определенный c интервал между фреймами данных / объектами внутри списка ()? - PullRequest
0 голосов
/ 03 марта 2020

У меня есть список, состоящий из 10 чисел c векторов. Я хотел бы выбрать первые 5 1:5, или, скажем, только 3-й и 9-й из этих чисел c векторов внутри списка.

Ниже приведен пример списка:

n_vec = lapply(1:10, function(x) rnorm(20,5,2))


bLister = list()

keeping_names = NULL
for (i in 1:length(n_vec)) {
  single_name_ = paste("thisis_vec",i)
  temp = n_vec[[i]]

  keeping_names = c(keeping_names,single_name_)
  bLister[[i]] = temp

}

names(bLister) = keeping_names

Этот способ не работает:

bLister[[1:5]]
bLister[[c(3,9)]]

Как я могу это сделать?

1 Ответ

1 голос
/ 03 марта 2020

Вы можете подмножество векторов, как это. Обратите внимание на количество квадратных скобок.

> bLister[c(3, 9)]
$`thisis_vec 3`
 [1] 5.603467 3.749571 3.944807 7.279552 7.122220 2.065051 2.587282 4.405463
 [9] 6.687400 7.567451 6.239640 6.017510 2.484759 3.223271 5.301008 1.545704
[17] 2.465992 1.518966 6.997675 3.966775

$`thisis_vec 9`
 [1] 3.900151 5.260895 7.971662 6.578425 4.861220 3.770569 1.128102 6.164506
 [9] 4.767511 5.286352 3.898185 2.298500 8.476691 7.794415 7.148588 6.699527
[17] 3.638074 4.240355 8.575829 5.340551
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...