Set Working Directory

knitr::opts_knit$set(root.dir = normalizePath("C:\\Users\\Damian\\Dropbox\\Study\\Coursera\\Design of Experiments"))

Analyzing User Preferences

One-sample tests of proportions

Read in a data file with 2 response categories

prefsAB <- read.csv("prefsAB.csv")
View(prefsAB)

Convert to nomial factor

prefsAB$Subject <- factor(prefsAB$Subject)
summary(prefsAB)
    Subject   Pref  
 1      : 1   A:14  
 2      : 1   B:46  
 3      : 1         
 4      : 1         
 5      : 1         
 6      : 1         
 (Other):54         
plot(prefsAB$Pref)

Pearson chi-square test

prfs <- xtabs(~Pref, data=prefsAB)
prfs
Pref
 A  B 
14 46 
chisq.test(prfs)

    Chi-squared test for given probabilities

data:  prfs
X-squared = 17.067, df = 1, p-value = 3.609e-05

The chi-squared test, the one sampled chi-square test is an asymptotic(점근성의) test. 다시 말해, p-value를 추측하는 것으로 데이터의 양이 많아질수록 나은 결과를 보인다. 주로 데이터가 1000개가 넘을 때 사용하기 좋다고 한다. 이에 대한 대안으로 the exact test(=binomial test)를 사용하도록 하자.

Binomial test

binom.test(prfs)

    Exact binomial test

data:  prfs
number of successes = 14, number of trials = 60,
p-value = 4.224e-05
alternative hypothesis: true probability of success is not equal to 0.5
95 percent confidence interval:
 0.1338373 0.3603828
sample estimates:
probability of success 
             0.2333333 

Multinomial test

Read in a data file with 3 response categories

prefsABC <- read.csv("prefsABC.csv")
View(prefsABC)
prefsABC$Subject <- factor(prefsABC$Subject)
summary(prefsABC)
prfs <- xtabs(~Pref, data=prefsABC)
chisq.test(prfs)

For multinomial test

library(XNomial)
xmulti(prfs, c(1/3, 1/3, 1/3), statName='Prob')
  • Testing over the preferences we have.
  • A, B, C 간에 no preference 적용
  • p-value가 0.05보다 작다.
  • It tells us, 차이가 있다. 근데 뭐와 뭐 간 차이인지는 모름

Post hoc binomial tests with correction for multiple comparisons (Pair wise differences)

aa <- binom.test(sum(prefsABC$Pref=="A"), nrow(prefsABC), p=1/3)
bb <- binom.test(sum(prefsABC$Pref=="B"), nrow(prefsABC), p=1/3)
cc <- binom.test(sum(prefsABC$Pref=="C"), nrow(prefsABC), p=1/3)
p.adjust(c(aa$p.value, bb$p.value, cc$p.value), method="holm")
  • pref==“A”인 데이터와 그렇지 않은 데이터 간에 비교를 하는데 가설 확률이 1/3을 적용
  • A, B, C 모두 적용
  • adjustment
    When we’re testing statistical tests, it’s significant. It means that there’re a 1 in 20 chance that just by chance, we might think there’s a statistically significant outcome when in fact it’s just by chance. That’s what being at 0.05 means, a 1 in 20 chance for that and so if we’re doing what are multinomial comparisons if we were to do 20 of them, we’d expect 1 just by chance to become significant. So we have to adjust for that.And we do that with a Bonferroni correction. This method here is called ‘holm’, which is really the preferred one. It subsumes Bonferroini, but it’s a little bit less of a strict test. It’s a sequential test that adjusts each of p value according to just how low it is. The first p value is in this case with test multiplied by three, so increased three times. This is called Holm’s Sequential Bonferroni procedure.
LS0tDQp0aXRsZTogIkRlc2lnbmluZywgUnVubmluZywgYW5kIEFuYWx5emluZyBFeHBlcmltZW50cyAwMSINCm91dHB1dDogaHRtbF9ub3RlYm9vaw0KLS0tDQpTZXQgV29ya2luZyBEaXJlY3RvcnkNCmBgYHtyIHNldHVwfQ0Ka25pdHI6Om9wdHNfa25pdCRzZXQocm9vdC5kaXIgPSBub3JtYWxpemVQYXRoKCJDOlxcVXNlcnNcXERhbWlhblxcRHJvcGJveFxcU3R1ZHlcXENvdXJzZXJhXFxEZXNpZ24gb2YgRXhwZXJpbWVudHMiKSkNCmBgYA0KIyBBbmFseXppbmcgVXNlciBQcmVmZXJlbmNlcw0KDQoqIFN0YXRpc3RpY3M6IE9uZS0gYW5kIHR3by1zYW1wbGUgdGVzdHMgb2YgcHJvcG9ydGlvbnMgd2l0aCBjaGktc3F1YXJlIHRlc3QsIGJpbm9taWFsIHRlc3QsIG11bHRpbm9taWFsIHRlc3QsIEctdGVzdCwgRmlzaGVyJ3MgZXhhY3QgdGVzdA0KDQojIyBPbmUtc2FtcGxlIHRlc3RzIG9mIHByb3BvcnRpb25zDQoNClJlYWQgaW4gYSBkYXRhIGZpbGUgd2l0aCAyIHJlc3BvbnNlIGNhdGVnb3JpZXMNCmBgYHtyfQ0KcHJlZnNBQiA8LSByZWFkLmNzdigicHJlZnNBQi5jc3YiKQ0KVmlldyhwcmVmc0FCKQ0KYGBgDQpDb252ZXJ0IHRvIG5vbWlhbCBmYWN0b3INCmBgYHtyfQ0KcHJlZnNBQiRTdWJqZWN0IDwtIGZhY3RvcihwcmVmc0FCJFN1YmplY3QpDQpzdW1tYXJ5KHByZWZzQUIpDQpgYGANCmBgYHtyfQ0KcGxvdChwcmVmc0FCJFByZWYpDQpgYGANCg0KIyMjIFBlYXJzb24gY2hpLXNxdWFyZSB0ZXN0DQpgYGB7cn0NCnByZnMgPC0geHRhYnMoflByZWYsIGRhdGE9cHJlZnNBQikNCnByZnMNCmBgYA0KYGBge3J9DQpjaGlzcS50ZXN0KHByZnMpDQpgYGANCg0KVGhlIGNoaS1zcXVhcmVkIHRlc3QsIHRoZSBvbmUgc2FtcGxlZCBjaGktc3F1YXJlIHRlc3QgaXMgYW4gYXN5bXB0b3RpYyjsoJDqt7zshLHsnZgpIHRlc3QuIOuLpOyLnCDrp5DtlbQsIHAtdmFsdWXrpbwg7LaU7Lih7ZWY64qUIOqyg+ycvOuhnCDrjbDsnbTthLDsnZgg7JaR7J20IOunjuyVhOyniOyImOuhnSDrgpjsnYAg6rKw6rO866W8IOuztOyduOuLpC4g7KO866GcIOuNsOydtO2EsOqwgCAxMDAw6rCc6rCAIOuEmOydhCDrlYwg7IKs7Jqp7ZWY6riwIOyii+uLpOqzoCDtlZzri6QuDQrsnbTsl5Ag64yA7ZWcIOuMgOyViOycvOuhnCB0aGUgZXhhY3QgdGVzdCg9Ymlub21pYWwgdGVzdCnrpbwg7IKs7Jqp7ZWY64+E66GdIO2VmOyekC4NCg0KIyMjIEJpbm9taWFsIHRlc3QNCg0KYGBge3J9DQpiaW5vbS50ZXN0KHByZnMpDQpgYGANCg0KIyMjIE11bHRpbm9taWFsIHRlc3QNCg0KUmVhZCBpbiBhIGRhdGEgZmlsZSB3aXRoIDMgcmVzcG9uc2UgY2F0ZWdvcmllcw0KYGBge3J9DQpwcmVmc0FCQyA8LSByZWFkLmNzdigicHJlZnNBQkMuY3N2IikNClZpZXcocHJlZnNBQkMpDQpgYGANCmBgYHtyfQ0KcHJlZnNBQkMkU3ViamVjdCA8LSBmYWN0b3IocHJlZnNBQkMkU3ViamVjdCkNCnN1bW1hcnkocHJlZnNBQkMpDQpgYGANCmBgYHtyfQ0KcHJmcyA8LSB4dGFicyh+UHJlZiwgZGF0YT1wcmVmc0FCQykNCmNoaXNxLnRlc3QocHJmcykNCmBgYA0KRm9yIG11bHRpbm9taWFsIHRlc3QNCmBgYHtyfQ0KbGlicmFyeShYTm9taWFsKQ0KeG11bHRpKHByZnMsIGMoMS8zLCAxLzMsIDEvMyksIHN0YXROYW1lPSdQcm9iJykNCmBgYA0KKiBUZXN0aW5nIG92ZXIgdGhlIHByZWZlcmVuY2VzIHdlIGhhdmUuDQoqIEEsIEIsIEMg6rCE7JeQIG5vIHByZWZlcmVuY2Ug7KCB7JqpDQoqIHAtdmFsdWXqsIAgMC4wNeuztOuLpCDsnpHri6QuDQoqIEl0IHRlbGxzIHVzLCDssKjsnbTqsIAg7J6I64ukLiDqt7zrjbAg662Q7JmAIOutkCDqsIQg7LCo7J207J247KeA64qUIOuqqOumhA0KDQoNCg0KUG9zdCBob2MgYmlub21pYWwgdGVzdHMgd2l0aCBjb3JyZWN0aW9uIGZvciBtdWx0aXBsZSBjb21wYXJpc29ucyAoUGFpciB3aXNlIGRpZmZlcmVuY2VzKQ0KYGBge3J9DQphYSA8LSBiaW5vbS50ZXN0KHN1bShwcmVmc0FCQyRQcmVmPT0iQSIpLCBucm93KHByZWZzQUJDKSwgcD0xLzMpDQpiYiA8LSBiaW5vbS50ZXN0KHN1bShwcmVmc0FCQyRQcmVmPT0iQiIpLCBucm93KHByZWZzQUJDKSwgcD0xLzMpDQpjYyA8LSBiaW5vbS50ZXN0KHN1bShwcmVmc0FCQyRQcmVmPT0iQyIpLCBucm93KHByZWZzQUJDKSwgcD0xLzMpDQpgYGANCmBgYHtyfQ0KcC5hZGp1c3QoYyhhYSRwLnZhbHVlLCBiYiRwLnZhbHVlLCBjYyRwLnZhbHVlKSwgbWV0aG9kPSJob2xtIikNCmBgYA0KKiBwcmVmPT0iQSLsnbgg642w7J207YSw7JmAIOq3uOugh+yngCDslYrsnYAg642w7J207YSwIOqwhOyXkCDruYTqtZDrpbwg7ZWY64qU642wIOqwgOyEpCDtmZXrpaDsnbQgMS8z7J2EIOyggeyaqQ0KKiBBLCBCLCBDIOuqqOuRkCDsoIHsmqkNCiogYWRqdXN0bWVudA0KOiBXaGVuIHdlJ3JlIHRlc3Rpbmcgc3RhdGlzdGljYWwgdGVzdHMsIGl0J3Mgc2lnbmlmaWNhbnQuIEl0IG1lYW5zIHRoYXQgdGhlcmUncmUgYSAxIGluIDIwIGNoYW5jZSB0aGF0IGp1c3QgYnkgY2hhbmNlLCB3ZSBtaWdodCB0aGluayB0aGVyZSdzIGEgc3RhdGlzdGljYWxseSBzaWduaWZpY2FudCBvdXRjb21lIHdoZW4gaW4gZmFjdCBpdCdzIGp1c3QgYnkgY2hhbmNlLiBUaGF0J3Mgd2hhdCBiZWluZyBhdCAwLjA1IG1lYW5zLCBhIDEgaW4gMjAgY2hhbmNlIGZvciB0aGF0IGFuZCBzbyBpZiB3ZSdyZSBkb2luZyB3aGF0IGFyZSBtdWx0aW5vbWlhbCBjb21wYXJpc29ucyBpZiB3ZSB3ZXJlIHRvIGRvIDIwIG9mIHRoZW0sIHdlJ2QgZXhwZWN0IDEganVzdCBieSBjaGFuY2UgdG8gYmVjb21lIHNpZ25pZmljYW50LiBTbyB3ZSBoYXZlIHRvIGFkanVzdCBmb3IgdGhhdC5BbmQgd2UgZG8gdGhhdCB3aXRoIGEgQm9uZmVycm9uaSBjb3JyZWN0aW9uLiBUaGlzIG1ldGhvZCBoZXJlIGlzIGNhbGxlZCAnaG9sbScsIHdoaWNoIGlzIHJlYWxseSB0aGUgcHJlZmVycmVkIG9uZS4gSXQgc3Vic3VtZXMgQm9uZmVycm9pbmksIGJ1dCBpdCdzIGEgbGl0dGxlIGJpdCBsZXNzIG9mIGEgc3RyaWN0IHRlc3QuIEl0J3MgYSBzZXF1ZW50aWFsIHRlc3QgdGhhdCBhZGp1c3RzIGVhY2ggb2YgcCB2YWx1ZSBhY2NvcmRpbmcgdG8ganVzdCBob3cgbG93IGl0IGlzLiBUaGUgZmlyc3QgcCB2YWx1ZSBpcyBpbiB0aGlzIGNhc2Ugd2l0aCB0ZXN0IG11bHRpcGxpZWQgYnkgdGhyZWUsIHNvIGluY3JlYXNlZCB0aHJlZSB0aW1lcy4NClRoaXMgaXMgY2FsbGVkIEhvbG0ncyBTZXF1ZW50aWFsIEJvbmZlcnJvbmkgcHJvY2VkdXJlLg==