Я знаю, что эта тема появилась на SO несколько раз, но примеры часто были более сложными, и я хотел бы получить ответ (или набор возможных решений) для этой простой ситуации. Я все еще обнимаю голову вокруг R и программирования в целом. Поэтому здесь я хочу использовать функцию lapply
или простой цикл для списка data
, который представляет собой список из трех списков векторов.Функция lapply/петли в списке списков R
data1 <- list(rnorm(100),rnorm(100),rnorm(100))
data2 <- list(rnorm(100),rnorm(100),rnorm(100))
data3 <- list(rnorm(100),rnorm(100),rnorm(100))
data <- list(data1,data2,data3)
Теперь я хочу получить список средств для каждого вектора. Результатом будет список из трех элементов (списков).
Я только знаю, как получить список результатов для списка векторов и
for (i in 1:length(data1)){
means <- lapply(data1,mean)
}
или:
lapply(data1,mean)
, и я знаю, как получить все средства, используя rapply
:
rapply(data,mean)
Проблема в том, что rapply не поддерживает структуру списка. Помощь и, возможно, некоторые советы/объяснения были бы очень признательны.
Ничего себе, это здорово (и как-то совершенно неинтуитивно для меня, поскольку я сначала узнал традиционные циклы). просто чтобы понять идею, не могли бы вы показать, как это будет выглядеть в традиционном для цикла? что поможет мне получить представление о структуре индексирования в случае, если мне нужно применить некоторые более сложные функции. – MIH
Обновлено сообщение – akrun
огромное спасибо, огромная помощь! – MIH