2012-12-23 8 views
0

미안하지만이 프로그램에 초보자입니다. 나는 R이 다음과 같은 오류를 지층 5에서 발생시키지 않기 때문에 제목이 의미하는 바와 같이 문제가 있습니다. 나는 Campania (Italy)의 5 개 주에서 샘플링을해야합니다. 나는 이와 같은 데이터를 가지고 있습니다 :지층 샘플링 R

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 

을 수행 할 때 그래서 N의에서

Av Bn Ce Na Sa 
    3 25 1 2 17 

NH 때문이다 691,363,210

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 

말한다을?

답변

4

help(strata) 페이지에는 data.frame을 정렬하라는 메시지가 표시됩니다. 그래서이 성공 :

sample.strata <- strata(dati1[order(dati1$Rip),],c("Rip"), 
           size=c(3,25,1,2,17), "srswor", TRUE) 

의미있는 라벨을 가지고 바라고 그래서 만약이 매트릭스는 물론, 그 숫자 토대에 요인으로 바뀝니다 만들기, 당신은 매트릭스 형식을 사용하여 '스스로 발을 쏜'했다.

> table(sample.strata$Stratum) 

1 2 3 4 5 
3 25 1 2 17