抱歉,我是这个程序的新手。我有一些问题,正如标题的意思,因为 R 给了我以下错误,在第 5 层没有足够的观察。我必须对坎帕尼亚(意大利)的五个省进行分层抽样,我有这样的数据:
dati1$Rip <- matrix(dati1$A3.factor, nrow=N, ncol=1)
dati1$A3.factor <- factor(dati1$A3, labels=c("Av","Bn","Ce","Na","Sa"))
dati1$A3.factor
[1] Sa Bn Sa Sa Sa Sa Sa Sa Sa Sa Sa Sa Av Sa Sa Bn Bn Bn Sa Bn Bn Bn Bn Bn Bn
[26] Bn Sa Bn Sa Bn Sa Bn Bn Na Av Bn Bn Av Sa Bn Bn Bn Sa Bn Bn Sa Sa Bn Bn Bn
[51] Av Bn Bn Bn Bn Sa Bn Sa Bn Bn Bn Sa Sa Na Sa Av Sa Bn Bn Bn Sa Sa Bn Sa Sa
[76] Sa Sa Na Bn Bn Bn Av Av Bn Bn Bn Bn Bn Bn Bn Bn Na Bn Bn Sa Bn Ce Na Ce Sa
Levels: Av Bn Ce Na Sa
问题是当我这样做时
library(sampling)
N <- dim(dati1)[1]
N
a <- 0.05
z_a <- qnorm(1-a/2)
error <- 0.20
Vo <- error^2/z_a^2
Vo
n <- ((Vo/p*(1-p)) + (1/N))^(-1)
n <- round(n)
n
ripartizione <- factor(dati1$A3, labels=c("Av","Bn","Ce","Na","Sa"))
Nh <- table(ripartizione)
Nh
f <- (n/N)*Nh
f
nh <-round(f)
nh
所以 nh 是
Av Bn Ce Na Sa
3 25 1 2 17
从 N 个:
Av Bn Ce Na Sa
7 51 2 5 35
为什么当我发出命令时:
sample.strata <- strata(dati1,c("Rip"), size=c(3,25,1,2,17), "srswor", TRUE)
sample.strata
R 说
error in strata(dati1, c("Rip"), size = c(3, 25, 1, 2, 17), "srswor", :
not enough obervations in the stratum 5
我必须做什么?