2017-11-07 4 views
1

나는 작업을 수행하고 있지만 두 개의 함수를 결합하여 하나의 응답을 여러 개 얻는 방법을 모릅니다. 나는 t.testing을하고 함수를 작성해야만하고, hypoteis가 거부되거나 거부되는 if-else 루프를 작성해야했습니다. 둘 다 개별적으로 작동하지만 코드 병합 방법을 알아낼 수 없으므로 코드를 실행할 때 숫자 답과 hypotesis가 거부되는지 여부를 나타내는 줄이 표시됩니다. 숫자 대답을 나는이있어 : R 기능을 결합하여 R

osuustesti <- function(x1,x2,n1,n2) { 
    ((x1/n1)-(x2/n2))/sqrt((1/n1 + 1/n2)*((x1+x2)/(n1+n2))*(1-((x1+x2)/(n1+n2)))) 
} 

내가있어 무엇 hypotesis와 함께 할 것입니다 진술 라인에 대한

이 :

osuustesti2 <- function(x1,x2,n1,n2,alpha) { 
    if(abs(((x1/n1)-(x2/n2))/sqrt((1/n1 + 1/n2)*((x1+x2)/(n1+n2))*(1-((x1+x2)/(n1+n2)))))> qnorm(alpha/2,lower.tail=FALSE)) { 
     cat("Nollahypoteesi hylätään")} else{cat("Nollahypoteesi hyväksytään") 
    } 
} 

내가 어떻게 그들을 결합하는 아무 생각이 없다 1로 코드를 실행할 때 숫자 값과 라인을 모두 얻습니다 ... 두 함수를 복사하고 & 함께 추가하려고했지만 그게 전혀 작동하지 않았습니다 ...

답변

1

이런 식으로해야합니다. 직장 :

osuustesti <- function(x1, x2, n1, n2, alpha = 0.05) { 
    numer <- x1/n1 - x2/n2 
    denum <- sqrt((1/n1 + 1/n2) * 
        ((x1 + x2)/(n1 + n2)) * 
        (1 - (x1 + x2)/(n1 + n2))) 
    result <- numer/denum 

    if (result > qnorm(alpha/2, lower.tail = FALSE)) { 
     cat("Nollahypoteesi hylätään\n") 
    } else { 
     cat("Nollahypoteesi hyväksytään\n") 
    } 
    return(result) 
} 

내가 result 객체에 결과를 저장, 다음 함수에서 결과를 반환하는 alpha, cat 문자열과 최종 사용 return()에 비교합니다.

+0

흥미 롭습니다! 따라서 2 개의 다른 기능을 사용하여 그 결과를 결합하는 지름길은 없습니다. 또한 코드에서 그렇게 나쁘지 않을 것 같은 방식으로 내 함수를 작성하는 법을 배워야합니다! –