Напишите цикл for, чтобы найти длины векторов в списке - PullRequest
0 голосов
/ 19 февраля 2019

I Answer_vector должен равняться sample_lengths, чего нет.Мой код выводит это:

[1] 32 35 39 44 39 36 46 46 46 42 46

[1] 31 33 36 40 34 30 39 38 37 32 35

set.seed(42)
sample_lengths <- sample(30:40)
list1 <- lapply(sample_lengths, sample) 

# create an empty vector for answers
Answer_vector <- rep(NA, length(list1))

# loop over list and find lengths
list1 <- lapply(sample_lengths, sample)

for (i in 1:length(list1)) {
      Answer_vector[i]<-sample_lengths[i]+i
    }
Answer_vector
sample_lengths

1 Ответ

0 голосов
/ 19 февраля 2019

Вот примеры использования for, sapply и lapply.Все результаты соответствуют значениям в векторе sample_lengths.

set.seed(42)
sample_lengths <- sample(30:40)
list1 <- lapply(sample_lengths, sample) 

# create an empty vector for answers
Answer_vector <- integer()

# Length of each vector using a loop
for (i in 1:length(list1)) {
  Answer_vector[i] <- length(list1[[i]])
}

# Length of each vector using sapply
sapply.answer.vector <- sapply(list1, length)


# Length of each vector using lapply
lapply.answer.vector <- unlist(lapply(list1, length))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...