Closed BERENZ closed 1 year ago
Generate data
set.seed(123) N <- 10000 n <- 1000 x1 <- rnorm(n = N, mean = 1, sd = 1) x2 <- rexp(n = N, rate = 1) epsilon <- rnorm(n = N) # rnorm(N) y1 <- 1 + x1 + x2 + epsilon y2 <- 0.5*(x1 - 0.5)^2 + x2 + epsilon p1 <- exp(x2)/(1+exp(x2)) p2 <- exp(-0.5+0.5*(x2-2)^2)/(1+exp(-0.5+0.5*(x2-2)^2)) population <- data.frame(x1,x2,y1,y2,p1,p2) flag_bd1 <- rbinom(n = N, size = 1, prob = population$p1) flag_srs <- sample(x = 1:N, size = n) source_nonprob <- population[flag_bd1 == 1, ] source_prob <- svydesign(ids = ~ 1, data = population[flag_srs, ], weights = rep(N/n, n)) source_prob_cal <- calibrate(source_prob, formula = ~x1+x2, c(`(Intercept)`= N, x1 = sum(populacja$x1), x2 = sum(populacja$x2))) ## calibration
Using source_prob works smoothly
source_prob
test1a <- nonprob(selection = ~ x1+ x2, target = ~ y1, data = source_nonprob, svydesign = source_prob)
but using source_prob_cal
source_prob_cal
causes the following error
test1b <- nonprob(selection = ~ x1+ x2, target = ~ y1, data = source_prob_cal, svydesign = source_prob)
Error in as.data.frame.default(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors) : cannot coerce class 'c("survey.design2", "survey.design")' to a data.frame
Generate data
Using
source_prob
works smoothlybut using
source_prob_cal
causes the following error