def test_anova_r_sleep(): "Test ANOVA accuracy by comparing with R (sleep dataset)" from rpy2.robjects import r # "sleep" dataset print r('data(sleep)') ds = Dataset.from_r('sleep') ds['ID'].random = True # independent measures aov = test.anova('extra', 'group', ds=ds) fs = run_on_lm_fitter('extra', 'group', ds) print r('sleep.aov <- aov(extra ~ group, sleep)') print r('sleep.summary <- summary(sleep.aov)') r_res = r['sleep.summary'][0] assert_f_test_equal(aov.f_tests[0], r_res, 0, fs[0]) # repeated measures aov = test.anova('extra', 'group * ID', ds=ds) fs = run_on_lm_fitter('extra', 'group * ID', ds) print r('sleep.aov <- aov(extra ~ group + Error(ID / group), sleep)') print r('sleep.summary <- summary(sleep.aov)') r_res = r['sleep.summary'][1][0] assert_f_test_equal(aov.f_tests[0], r_res, 0, fs[0]) # unbalanced (independent measures) ds2 = ds[1:] print r('sleep2 <- subset(sleep, (group == 2) | (ID != 1))') aov = test.anova('extra', 'group', ds=ds2) fs = run_on_lm_fitter('extra', 'group', ds2) print r('sleep2.aov <- aov(extra ~ group, sleep2)') print r('sleep2.summary <- summary(sleep2.aov)') r_res = r['sleep2.summary'][0] assert_f_test_equal(aov.f_tests[0], r_res, 0, fs[0])
def test_anova_r_adler(): """Test ANOVA accuracy by comparing with R (Adler dataset of car package) An unbalanced 3 by 2 independent measures design. """ from rpy2.robjects import r # "Adler" dataset r_require('car') ds = Dataset.from_r('Adler') # with balanced data dsb = ds.equalize_counts('expectation % instruction') dsb.to_r('AdlerB') aov = test.anova('rating', 'instruction * expectation', ds=dsb) fs = run_on_lm_fitter('rating', 'instruction * expectation', dsb) print r('a.aov <- aov(rating ~ instruction * expectation, AdlerB)') print r('a.summary <- summary(a.aov)') r_res = r['a.summary'][0] assert_f_tests_equal(aov.f_tests, r_res, fs) # with unbalanced data; for Type II SS use car package aov = test.anova('rating', 'instruction * expectation', ds=ds) fs = run_on_lm_fitter('rating', 'instruction * expectation', ds) r_res = r("Anova(lm(rating ~ instruction * expectation, Adler, type=2))") assert_f_tests_equal(aov.f_tests, r_res, fs, 'Anova') # single predictor aov = test.anova('rating', 'instruction', ds=ds) fs = run_on_lm_fitter('rating', 'instruction', ds) r_res = r("Anova(lm(rating ~ instruction, Adler, type=2))") assert_f_test_equal(aov.f_tests[0], r_res, 0, fs[0], 'Anova')
def test_anova_r_adler(): """Test ANOVA accuracy by comparing with R (Adler dataset of car package) An unbalanced 3 by 2 independent measures design. """ from rpy2.robjects import r # "Adler" dataset r_require('car') ds = Dataset.from_r('Adler') # with balanced data dsb = ds.equalize_counts('expectation % instruction') dsb.to_r('AdlerB') aov = test.ANOVA('rating', 'instruction * expectation', ds=dsb) fs = run_on_lm_fitter('rating', 'instruction * expectation', dsb) fnds = run_as_ndanova('rating', 'instruction * expectation', dsb) print(r('a.aov <- aov(rating ~ instruction * expectation, AdlerB)')) print(r('a.summary <- summary(a.aov)')) r_res = r['a.summary'][0] assert_f_tests_equal(aov.f_tests, r_res, fs, fnds) # with unbalanced data; for Type II SS use car package aov = test.ANOVA('rating', 'instruction * expectation', ds=ds) fs = run_on_lm_fitter('rating', 'instruction * expectation', ds) fnds = run_as_ndanova('rating', 'instruction * expectation', ds) r_res = r("Anova(lm(rating ~ instruction * expectation, Adler, type=2))") assert_f_tests_equal(aov.f_tests, r_res, fs, fnds, 'Anova') # single predictor aov = test.ANOVA('rating', 'instruction', ds=ds) fs = run_on_lm_fitter('rating', 'instruction', ds) fnds = run_as_ndanova('rating', 'instruction', ds) r_res = r("Anova(lm(rating ~ instruction, Adler, type=2))") assert_f_test_equal(aov.f_tests[0], r_res, 0, fs[0], fnds[0], 'Anova')
def test_r(): "Test interaction with R through rpy2" from rpy2.robjects import r r("data(sleep)") ds = Dataset.from_r("sleep") eq_(ds.name, 'sleep') extra = (0.7, -1.6, -0.2, -1.2, -0.1, 3.4, 3.7, 0.8, 0.0, 2.0, 1.9, 0.8, 1.1, 0.1, -0.1, 4.4, 5.5, 1.6, 4.6, 3.4) assert_array_equal(ds.eval('extra'), extra) assert_array_equal(ds.eval('ID'), list(map(str, range(1, 11))) * 2) assert_array_equal(ds.eval('group'), ['1'] * 10 + ['2'] * 10) # test putting ds.to_r('sleep_copy') ds_copy = Dataset.from_r('sleep_copy') assert_dataset_equal(ds_copy, ds)
def test_r(): "Test interaction with R thorugh rpy2" from rpy2.robjects import r r("data(sleep)") ds = Dataset.from_r("sleep") assert_equal(ds.name, 'sleep') extra = (0.7, -1.6, -0.2, -1.2, -0.1, 3.4, 3.7, 0.8, 0.0, 2.0, 1.9, 0.8, 1.1, 0.1, -0.1, 4.4, 5.5, 1.6, 4.6, 3.4) assert_array_equal(ds.eval('extra'), extra) assert_array_equal(ds.eval('ID'), map(str, xrange(1, 11)) * 2) assert_array_equal(ds.eval('group'), ['1'] * 10 + ['2'] * 10) # test putting ds.to_r('sleep_copy') ds_copy = Dataset.from_r('sleep_copy') assert_dataset_equal(ds_copy, ds)