У меня есть небольшой фрейм данных с двумя столбцами: fp
(ложное срабатывание) и fn
(ложное отрицание), вот так:
falsepos <- c(.05, .25, .5)
falseneg <- c(.01, .05, .1)
x_name <- "fp"
y_name <- "fn"
df <- data.frame(falsepos,falseneg)
names(df) <- c(x_name, y_name)
Я также написал небольшую адаптацию Байеса Правило как функция, например, так:
bayesrule <- function(baserate = .03,
fp,
fn) {
output <- (baserate * (1 - fn)) / ((baserate * (1 - fn)) + ((1 - baserate) * (fp)))
return(output)
}
fp
и fn
означают то же, что и в df
. В этой функции bayesrule
я оставил значение по умолчанию для baserate
из .03
. Мой вопрос: как я могу написать некоторый код R
- вероятно, используя семейство функций apply
, я полагаю, но, возможно, что-то еще - чтобы передать каждую строку в значении df
для fp
и fn
на соответствующее место в функции bayesrule
, что дает мне три вычисления правила Байеса (каждое с тем же значением по умолчанию baserate
, равным .03)?
Я просмотрел похожие посты в SX и подошел довольно близко, но я просто стесняюсь этого. Я подошел так близко:
sapply(df,FUN = bayesrule,fn=df$fn, fp=df$fp)
Но не ближе.