을 사용하여 외란 분산에 대한 Cochran의 C 검정 의 C.test
함수에서 외란 분산에 대한 Cochran 's C 검정을 수행합니다. 도시 주변의 다른 역에서이 SO2 측정 데이터 프레임을 가지며, 역, 일 및 값의 3 개의 열이 있습니다. 이 기능을 문제는이 lm
객체를 필요로하고 당신이 하나를 구축하는 방법을 나는 아주 이해가 안하지만 난 그냥 할 것입니다 :C.test {GAD}
> C.test(lm(data = testSO2E1, value ~ estacion))
Cochran test of homogeneity of variances
data: lm(data = testSO2E1, value ~ estacion)
C = 0.13123, n = 31, k = 10, p-value = 1.066
alternative hypothesis: Group 28079057 has outlying variance
sample estimates:
28079004 28079008 28079017 28079018 28079024 28079035 28079036 28079038 28079040
16.8516 16.0559 17.9118 22.5828 30.0516 22.2366 23.6731 27.0452 26.5118
28079057
30.6516
명백한 문제가 (누군가가 크로스 인증 됨에서 언급 한 바와 같이, 나는 이미 그 게시물을 삭제 한) 나는 그것이 불가능해야 할 때 1보다 큰 p 값을 얻고 있다는 것입니다. 또 다른 문제점은 28079057 스테이션이 분산이 가장 큰 경우 외란에 대한 테스트를 수행한다는 것입니다. 내가 outliers
패키지에서 Cochran.test
기능을 사용하는 경우
는 제대로 작동합니다
> cochran.test(value~Estacion,testSO2E1)
Cochran test for outlying variance
data: value ~ Estacion
C = 0.26268, df = 31, k = 10, p-value = 2.285e-06
alternative hypothesis: Group 28079036 has outlying variance
sample estimates:
28079004 28079008 28079017 28079018 28079024 28079035 28079036 28079038 28079040
4.1032258 5.3784946 3.3118280 1.7913978 0.3118280 8.6064516 13.1397849 9.0258065 0.9569892
28079057
3.3956989
나는 그것이 제대로 작동 해당 설명서에 포함 된 예제와 같이 C.test
를 사용할 때, 나는 두 기능 그러나 나는 돈에서 같은 결과를 얻을 수 무엇이 다른지 알지 못합니다.
lm
개체를 잘못 작성하고 있습니까? 변수 cg,mq
은 무엇을합니까? SO2 측정을 테스트하기 위해 비슷한 것이 필요합니까? https://drive.google.com/open?id=0B-0fUAdfgHYzUjcyVHhBcl9rWlk
그리고 여기에 기능 C.test {GAD}에 대한 코드 : 코크란의 코드로도
C.test <-
function (object)
{
model <- deparse(substitute(object))
by.factor <- as.factor(1:object$rank)
n <- length(object$model[,1])/object$rank
k <- object$rank
var <- tapply(object$model[,1], rep(1:k, each = n), var)
int <- interaction(object$model[,-1], lex.order = TRUE)
f.int <- factor(int, levels = unique(int))
names(var) <- levels(f.int)
mean <- tapply(object$model[,1], rep(1:k, each = n), mean)
C <- max(var)/sum(var)
group <- names(var)[which(var == max(var))]
method <- "Cochran test of homogeneity of variances"
alt <- paste("Group", group, "has outlying variance")
f <- (1/C - 1)/(k - 1)
p <- 1 - pf(f, (n - 1) * (k - 1), (n - 1)) * k
pval <- 1 - p
result <- list(statistic = c(C = C), parameter = c(n = n,
k = k), alternative = alt, p.value = pval, method = method,
estimate = round(var, 4), mean = mean, var = var, data.names = model)
class(result) <- "htest"
return(result)
}