From cc0418ff24f8b6485a2a553cf97ba8afd4d21a7d Mon Sep 17 00:00:00 2001 From: Benjamin Auder <benjamin.auder@somewhere> Date: Mon, 28 Oct 2019 16:45:28 +0100 Subject: [PATCH] Fix Y computation in data sampling --- .gitignore | 2 +- pkg/R/sampleIO.R | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 260e0f5..14fe774 100644 --- a/.gitignore +++ b/.gitignore @@ -22,7 +22,7 @@ NAMESPACE .Rhistory .RData -#ignore R CMD build/check genrated files +#ignore R CMD build/check generated files /*.Rcheck/ /*.tar.gz diff --git a/pkg/R/sampleIO.R b/pkg/R/sampleIO.R index 5e45837..753e00d 100644 --- a/pkg/R/sampleIO.R +++ b/pkg/R/sampleIO.R @@ -51,7 +51,7 @@ generateSampleIO = function(n, p, β, b, link) { index = c(index, rep(i, classes[i])) newXblock = cbind( MASS::mvrnorm(classes[i], zero_mean, id_sigma), 1 ) - arg_link = newXblock%*%β[,i] + arg_link = newXblock %*% β probas = if (link == "logit") { @@ -61,8 +61,10 @@ generateSampleIO = function(n, p, β, b, link) else #"probit" pnorm(arg_link) probas[is.nan(probas)] = 1 #overflow of exp(x) + probas = rowSums(p * probas) X = rbind(X, newXblock) - Y = c( Y, vapply(probas, function(p) (rbinom(1,1,p)), 1) ) + Y = c( Y, vapply(probas, function(p) (ifelse(p >= .5, 1, 0)), 1) ) + #Y = c( Y, vapply(probas, function(p) (rbinom(1,1,p)), 1) ) } shuffle = sample(n) # Returned X should not contain an intercept column (it's an argument of estimation -- 2.44.0