У меня есть список числовых векторов. Для каждого вектора я хочу определить значения x для пиков плотности ядра, используя для l oop. Запуск для l oop при печати результатов работает нормально. При попытке сохранить результаты в списке я получаю следующую ошибку:
"Ошибка в [[<-
(*tmp*
, i, значение = d $ x [c (F, diff (diff (d $ y)> = 0) <0)]): такого уровня нет на уровне 2 "</p>
Сообщение об ошибке в моем исходном коде
возвращает : "... нет такого индекса на уровне 1".
Может кто-нибудь помочь мне исправить эту ошибку? Код для извлечения значений x для пиков плотности ядра: Расчет пиков в гистограммах или функциях плотности , третий ответ.
set.seed(1234)
x <- list(col1 = c(rnorm(100, mean = 3), rnorm(100, mean = 4)),
col2 = c(rnorm(100, mean = 3), rnorm(100, mean = 4)))
# Works fine
output <- vector("list", length(x))
for (i in (x)){
d <- density(i)
d$x[c(F, diff(diff(d$y) >= 0) < 0)] %>% print()
}
# Does not work
output <- vector("list", length(x))
for (i in (x)){
d <- density(i)
d$x[c(F, diff(diff(d$y) >= 0) < 0)] -> output[[i]]
}