dyn.load("C:\Users\Lenovo\Desktop\ROC program\libroc.so")
partially_paired_samples_cbm <- function(n, ap, aq, sigmap, sigmaq, lambda, correlation, percentage, symmetrical){
library(MASS)
npq = round(n*percentage)
if (symmetrical == 0){
np = 0
} else {
np = round(n*(1-percentage)/2)
}
nq = n - np - npq
if (nq < 0) nq = 0
cases = matrix(0, ncol=2, nrow = n)
design = matrix(0, ncol=2, nrow = n)
if (np > 0) {
cases[1:np, 1] <- (1-lambda)*rnorm(np, 0, sigmap) + lambda*rnorm(np, ap, sigmap)
design[1:np, 1]<- 1
}
if (npq > 0) {
cov = sigmap*sigmaq*correlation
varcov = matrix(c(sigmap*sigmap, cov, cov, sigmaq*sigmaq), 2, 2)
cases[(np+1):(np+npq), 1:2] <- (1-lambda)*mvrnorm(npq, c(0,0), varcov) + lambda*mvrnorm(npq, c(ap, aq), varcov)
design[(np+1):(np+npq),1:2] <- 1
}
if (nq > 0) {
cases[(np+npq+1): (np+npq+nq), 2] <- (1-lambda)*rnorm(nq, 0, sigmaq) + lambda*rnorm(nq, aq, sigmaq)
design[(np+npq+1):(np+npq+nq), 2] <- 1
}
list(cases, design)
return(list(cases, design))
}
partially_paired_cbm_random_samples <- function(nn, ns, ap, aq, lambda, correlation, percentage, symmetrical){
re <- partially_paired_samples_cbm(nn, 0, 0,1,1,1,correlation,percentage, symmetrical)
n_cases <- re[[1]]
n_design <- re[[2]]
re <- partially_paired_samples_cbm(ns,ap,aq,1,1,lambda,correlation,percentage, symmetrical)
p_cases <- re[[1]]
p_design <- re[[2]]
list(n_design, p_design, n_cases, p_cases)
}
re=partially_paired_cbm_random_samples( 500, 250, 0.8, 1.8, 0, 0.8, 0.6, 1)
date.r转date.md
最新推荐文章于 2022-06-21 18:50:24 发布