2016-06-17 6 views
-2

다른 초기 확률에 대한 여러 가지 방법으로 샘플 크기 결정을 보관할 테이블을 만들려고합니다. 나는 편지 내가 간격의 종류와 확률 값을 기준으로 채우는하고자하는 실제 출력되는 다음과 같은R에 테이블 채우기

Prob. .80 .81 .82 ... 
Wald  xxx yyy zzz 
AC  qqq rrr sss 
Jeff. ddd uuu iii 

같은 것을보고 싶습니다. 개별 값을 얻으려면 다음 코드를 사용할 수 있지만 함께 쓰려고 애를 쓰고 있습니다.

library(binom) 
n_wald <- ciss.wald(p, d, alpha = a) 
n_agricoull <- ciss.agresticoull(p, d, alpha = a) 
n_jeffreys <- ciss.binom(p, d, alpha = a, prior.shape1 = 0.5, 
prior.shape2 = 0.5, method = "bayes") 

나는 초기 확률의 각 증가에 대한 테이블에 표본 크기 계산을 변환에 도움이 필요. 기본적으로 테이블의 "xxx"를 채우기 위해 두 번째 코드를 사용하려고합니다.

+0

그래서 ... 구체적으로 귀하의 질문은 무엇입니까? –

+0

@Alex 샘플 크기 계산을 초기 확률 증가마다 테이블로 변환하는 데 도움이 필요합니다. 기본적으로 테이블의 "xxx"를 채우기 위해 두 번째 코드를 사용하려고합니다. 보다 나은? –

+0

@ a.powell 의견에 설명을 넣는 것보다 질문을 수정하는 편이 낫습니다. – lmo

답변

1

참조하는 기능은 실제로 binomSamSize 패키지에 있습니다. 두 개 이상의 인수에 여러 값을 제공하지 않는 한 벡터화되어 있기 때문에 조금 더 쉽게 사용할 수 있습니다.

dplyr을 사용하여 데이터 프레임에 푸시하기가 쉬워졌습니다.

library(binomSamSize) 
library(dplyr) 
p0_vec <- seq(0.8, 0.9, by = 0.02) 

rbind(
    ciss.wald(p0=p0_vec, 
      alpha=0.1, 
      d=0.05), 
    ciss.agresticoull(p0=p0_vec, 
        alpha=0.1, 
        d=0.05), 
    vapply(p0_vec, 
     ciss.binom, 
     numeric(1), 
     alpha=0.1, 
     d=0.05, 
     prior.shape1 = 0.5, 
     prior.shape2 = 0.5, 
     method = "bayes") 
) %>% 
    as.data.frame() %>% 
    bind_cols(
    data.frame(type = c("Wald", "AC", "Jeff"), 
       stringsAsFactors = FALSE), 
    . 
) %>% 
setNames(c("type", p0_vec))