Я пытаюсь найти прогнозируемое моделью значение, наиболее близкое к реальному наблюдаемому значению в большом кадре данных. Я считаю, что мне нужно использовать lapply, но я действительно не уверен. Спасибо заранее, SE, и извините, если это повторение предыдущего поста, я посмотрел.
df <- data.frame(pred = rnorm(50, mean = 100, sd = 10),
cand = I(replicate(50, exp = I(list(rnorm(6, mean = 100, sd = 10))))))
До сих пор я придумал 1-строчную функцию, которая работает при запуске на одна строка, но у меня есть две проблемы:
df$closest <- sapply( df, function(x) { which.min( abs( df$pred[x] - df$cand[[x]] ) ) } )
- Эта функция не будет работать в полном списке, возможно, потому что я новичок в семействе apply.
Эта функция возвращает позицию списка, а не фактическое значение, которое мне и нужно.
Error in df$cand[[x]] : no such index at level 1