我有以下 R 代码
ldf <- function(x, prior, mu, covar)
{
x <- matrix(as.numeric(diabetes), ncol=1)
log(lda.res$prior) - (0.5*t(lda.res$mean)%*%solve(cov_all)%*%lda.res$mean) + (t(x)%*%solve(covar)%*%mu)
}
我知道代码是一个计算线性判别函数的函数。
但是,我不确定以下代码在做什么。它直接跟在上面的代码之后。
我知道它正在为患者计算线性判别函数,但我不确定每条线的含义。
id <- 1
dfs <- rep(0, G)
for(g in 1:G)
{
dfs[g] <- ldf(diabetes[id,2:4], lda.res$prior[g], lda.res$mean[g,], cov_all)
}
dfs
levels(diabetes$class)[dfs == max(dfs)]
预先感谢您的任何帮助!