data(EOC)
head(EOC)
if (FALSE) {
# FULL data estimator
dise_full <- pre_data(EOC$D.full, EOC$CA125)
dise_vec_full <- dise_full$dise_vec
if(requireNamespace("webshot2", quietly = TRUE)){
rocs("full", diag_test = EOC$CA125, dise_vec = dise_vec_full, ncp = 30,
ellipsoid = TRUE, cpst = c(-0.56, 2.31))
}
}
if (FALSE) {
# Preparing the missing disease status
dise_na <- pre_data(EOC$D, EOC$CA125)
dise_vec_na <- dise_na$dise_vec
dise_fact_na <- dise_na$dise
# FI estimator
rho_out <- rho_mlogit(dise_fact_na ~ CA125 + CA153 + Age, data = EOC,
test = TRUE)
if (requireNamespace("webshot2", quietly = TRUE)) {
rocs("fi", diag_test = EOC$CA125, dise_vec = dise_vec_na,
veri_stat = EOC$V, rho_est = rho_out, ncp = 30)
}
# Plot ROC surface and add ellipsoid confidence region
if (requireNamespace("webshot2", quietly = TRUE)) {
rocs("fi", diag_test = EOC$CA125, dise_vec = dise_vec_na,
veri_stat = EOC$V, rho_est = rho_out, ncp = 30,
ellipsoid = TRUE, cpst = c(-0.56, 2.31))
}
# MSI estimator
if (requireNamespace("webshot2", quietly = TRUE)) {
rocs("msi", diag_test = EOC$CA125, dise_vec = dise_vec_na,
veri_stat = EOC$V, rho_est = rho_out, ncp = 30,
ellipsoid = TRUE, cpst = c(-0.56, 2.31))
}
# IPW estimator
pi_out <- psglm(V ~ CA125 + CA153 + Age, data = EOC, test = TRUE)
if (requireNamespace("webshot2", quietly = TRUE)) {
rocs("ipw", diag_test = EOC$CA125, dise_vec = dise_vec_na,
veri_stat = EOC$V, pi_est = pi_out, ncp = 30,
ellipsoid = TRUE, cpst = c(-0.56, 2.31))
}
# SPE estimator
if (requireNamespace("webshot2", quietly = TRUE)) {
rocs("spe", diag_test = EOC$CA125, dise_vec = dise_vec_na,
veri_stat = EOC$V, rho_est = rho_out, ncp = 30,
pi_est = pi_out, ellipsoid = TRUE, cpst = c(-0.56, 2.31))
}
# NN estimator
x_mat <- cbind(EOC$CA125, EOC$CA153, EOC$Age)
k_opt <- cv_knn(x_mat = x_mat, dise_vec = dise_vec_na, veri_stat = EOC$V,
type = "mahala", plot = TRUE)
rho_k_opt <- rho_knn(x_mat = x_mat, dise_vec = dise_vec_na,
veri_stat = EOC$V, k = k_opt, type = "mahala")
if (requireNamespace("webshot2", quietly = TRUE)) {
rocs("knn", diag_test = EOC$CA125, dise_vec = dise_vec_na,
veri_stat = EOC$V, rho_est = rho_k_opt, ncp = 30,
ellipsoid = TRUE, cpst = c(-0.56, 2.31))
}
## Compute TCFs at three cut points
cutps <- rbind(c(0, 0.5), c(0, 1), c(0.5, 1))
rocs.tcf("spe", diag_test = EOC$CA125, dise_vec = dise_vec_na,
veri_stat = EOC$V, rho_est = rho_out, ncp = 30,
pi_est = pi_out, cps = cutps)
}
Run the code above in your browser using DataLab