| chow.test {gap} | R Documentation |
Chow's test is for differences between two or more regressions. Assuming that errors in regressions 1 and 2 are normally distributed with zero mean and homoscedastic variance, and they are independent of each other, the test of regressions from sample sizes n_1 and n_2 is then carried out using the following steps. 1. Run a regression on the combined sample with size n=n_1+n_2 and obtain within group sum of squares called S_1. The number of degrees of freedom is n_1+n_2-k, with k being the number of parameters estimated, including the intercept. 2. Run two regressions on the two individual samples with sizes n_1 and n_2, and obtain their within group sums of square S_2+S_3, with n_1+n_2-2k degrees of freedom. 3. Conduct an F_{(k,n_1+n_2-2k)} test defined by
F = \frac{[S_1-(S_2+S_3)]/k}{[(S_2+S_3)/(n_1+n_2-2k)]}
If the F statistic exceeds the critical F, we reject the null hypothesis that the two regressions are equal.
chow.test(y1, x1, y2, x2, x = NULL)
y1 |
a vector of dependent variable. |
x1 |
a matrix of independent variables. |
y2 |
a vector of dependent variable. |
x2 |
a matrix of independent variables. |
x |
a known matrix of independent variables. |
In the case of haplotype trend regression, haplotype frequencies from combined data are known, so can be directly used.
The returned value is a vector containing (please use subscript to access them):
the F statistic
the numerator degree(s) of freedom
the denominator degree(s) of freedom
the p value for the F test
adapted from chow.R.
Shigenobu Aoki, Jing Hua Zhao
http://aoki2.si.gunma-u.ac.jp/R/
Chow GC (1960). Tests of equality between sets of coefficients in two linear regression. Econometrica 28:591-605
## Not run:
dat1 <- matrix(c(
1.2, 1.9, 0.9,
1.6, 2.7, 1.3,
3.5, 3.7, 2.0,
4.0, 3.1, 1.8,
5.6, 3.5, 2.2,
5.7, 7.5, 3.5,
6.7, 1.2, 1.9,
7.5, 3.7, 2.7,
8.5, 0.6, 2.1,
9.7, 5.1, 3.6), byrow=TRUE, ncol=3)
dat2 <- matrix(c(
1.4, 1.3, 0.5,
1.5, 2.3, 1.3,
3.1, 3.2, 2.5,
4.4, 3.6, 1.1,
5.1, 3.1, 2.8,
5.2, 7.3, 3.3,
6.5, 1.5, 1.3,
7.8, 3.2, 2.2,
8.1, 0.1, 2.8,
9.5, 5.6, 3.9), byrow=TRUE, ncol=3)
y1<-dat1[,3]
y2<-dat2[,3]
x1<-dat1[,1:2]
x2<-dat2[,1:2]
chow.test.r<-chow.test(y1,x1,y2,x2)
## End(Not run)