У меня есть список матриц/вектор и вы хотите применить R-функции и сохранить вывод в виде списка в последовательности чисел. В качестве примера утра: У меня есть вектор х и хотел бы calcualte мин, макс, медиана, квантиль и хранить его в списке каждой итерации,перебрать список в R и сохранить список
outlist <- vector("list", 10)
for(p in seq(from=5, to=50, by=5)) {
x <- c(rnorm(20))
min <- min(x)
max <- max(x)
median <- median(x)
quant <- quantile(x)
outlist[[p]] <- list(c(min=min,max=max,median=median,quant=quant))
print(p)
}
Код выше работает отлично, за исключением того, что на выходе и имеет множество «нулевых» значений. См. Ниже для выхода из вышеприведенной программы, обратите внимание, что 1-й по 4 является нулевым и только на 5-й итерации мы начинаем получать вывод списка. Это повторяется для всей итерации. Не могли бы вы сообщить мне, как я должен избегать нулевых значений в выходе.
Ниже приведены мои вопросы. Как обеспечить, чтобы все нулевые значения отсутствовали и присутствовали только порядковые номера (p = 5,10,15, ..., 50) на итерации.
Кроме того, как создать выход матрицы (вектор) для списка с именем строки в качестве примера последовательности?
min max median quant.0% quant.25% quant.50% quant.75% quant.100%
5 -2.1058435 2.8461767 -0.5227028 -2.1058435 -1.1500056 -0.5227028 0.1645680 2.8461767
10 -0.7709128 2.2872216 0.1808006 -0.7709128 -0.1501660 0.1808006 0.8250730 2.2872216
15 -2.3748713 2.0360717 0.2638579 -2.3748713 -0.2631081 0.2638579 0.6446657 2.0360717
and so on ...
Благодаря
Ну, если вы только назначаете предметы с индексом кратных 5, что вы ожидали. Научитесь использовать 'seq_along' для генерации индекса, если хотите« плотные »значения. ' –
Вы просто хотите удалить NULL? 'Фильтр (Negate (is.null), outlist)' или вы хотите суммарную статистику для каждой итерации? Если последний, почему у вас будет цикл только каждые 5-й итерации? – rawr