── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
✔ dplyr 1.1.4 ✔ readr 2.1.5
✔ forcats 1.0.0 ✔ stringr 1.5.1
✔ lubridate 1.9.3 ✔ tibble 3.2.1
✔ purrr 1.0.2 ✔ tidyr 1.3.1
── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
✖ dplyr::filter() masks stats::filter()
✖ dplyr::lag() masks stats::lag()
ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(dplyr)
Vytvoření datasetu
set.seed(123)x <-rnorm(100, mean =3, sd =1)hist(x, breaks =20, col ="lightblue", main ="Histogram of x", xlab ="x")
for (i in1:24) {assign(paste0("a", letters[i]), rnorm(100, mean =0.5+0.2*i, sd =1))}
hist(ax, breaks =20, col ="lightblue", main ="Histogram of x", xlab ="x")
df <-data.frame()for (i in1:24) { df <-rbind(df, data.frame(condition =paste0("a", letters[i]), value =get(paste0("a", letters[i]))))}df <-rbind(df, data.frame(condition ="x", value = x))
boxplot(value ~ condition, data = df, col ="lightblue", main ="Boxplot of the conditions", xlab ="condition", ylab ="value")
Výběr podmínky z datasetu
Takto se vybírají podmínky “x” a “aa”. Všichni budete srovnávat “x” s vaší vybranou, kterou uvedete namísto “aa”.
(df2 <- df %>%filter(condition %in%c("x", "aa")))
condition value
1 aa -0.01040656
2 aa 0.95688371
3 aa 0.45330812
4 aa 0.35245740
5 aa -0.25161857
6 aa 0.65497228
7 aa -0.08490447
8 aa -0.96794194
9 aa 0.31977348
10 aa 1.61899661
11 aa 0.12465304
12 aa 1.30796432
13 aa -0.91788271
14 aa 0.64443803
15 aa 1.21940720
16 aa 1.00115336
17 aa 0.80567619
18 aa 0.05929399
19 aa -0.14970435
20 aa -0.32412879
21 aa 0.81764660
22 aa -0.24747461
23 aa 0.20944256
24 aa 0.44390781
25 aa 2.54386201
26 aa 0.04805010
27 aa 0.93538657
28 aa 0.77796085
29 aa -0.26185663
30 aa 0.62869191
31 aa 2.14455086
32 aa 1.15150405
33 aa 0.74123292
34 aa 0.27750317
35 aa -1.35324722
36 aa 1.83133721
37 aa -0.76064007
38 aa 1.43994751
39 aa 2.60910357
40 aa -0.74389316
41 aa 1.40178434
42 aa 0.43780251
43 aa -0.87214416
44 aa -0.81466765
45 aa -0.90153617
46 aa 0.16909348
47 aa -0.76175558
48 aa 1.38791677
49 aa 2.80010894
50 aa -0.58703048
51 aa 1.48773885
52 aa 1.46904224
53 aa 1.03220258
54 aa -0.30837661
55 aa 0.58054739
56 aa 0.41960466
57 aa 1.26298953
58 aa 0.32756124
59 aa 1.67697339
60 aa 0.32541914
61 aa 1.75271147
62 aa -0.34917701
63 aa -0.56015524
64 aa 3.94103993
65 aa 0.28314241
66 aa 0.99822759
67 aa 1.33656967
68 aa 0.21621937
69 aa 1.21686204
70 aa 1.06896453
71 aa 0.48461949
72 aa 0.76529303
73 aa 0.66593275
74 aa 2.82845190
75 aa -0.04133610
76 aa -0.39599627
77 aa 0.73778840
78 aa 1.01048075
79 aa 1.13652348
80 aa 0.24163467
81 aa -0.36332613
82 aa 1.96318518
83 aa 0.35034961
84 aa -0.16551286
85 aa 0.46372043
86 aa 0.50282411
87 aa 1.80992029
88 aa 0.78473729
89 aa 1.45405379
90 aa 0.20070798
91 aa 0.91444531
92 aa 0.37531409
93 aa 0.79458353
94 aa -0.19536336
95 aa -0.61080153
96 aa 2.69721338
97 aa 1.30070882
98 aa -0.55127136
99 aa 0.08883408
100 aa -0.48548008
101 x 2.43952435
102 x 2.76982251
103 x 4.55870831
104 x 3.07050839
105 x 3.12928774
106 x 4.71506499
107 x 3.46091621
108 x 1.73493877
109 x 2.31314715
110 x 2.55433803
111 x 4.22408180
112 x 3.35981383
113 x 3.40077145
114 x 3.11068272
115 x 2.44415887
116 x 4.78691314
117 x 3.49785048
118 x 1.03338284
119 x 3.70135590
120 x 2.52720859
121 x 1.93217629
122 x 2.78202509
123 x 1.97399555
124 x 2.27110877
125 x 2.37496073
126 x 1.31330669
127 x 3.83778704
128 x 3.15337312
129 x 1.86186306
130 x 4.25381492
131 x 3.42646422
132 x 2.70492852
133 x 3.89512566
134 x 3.87813349
135 x 3.82158108
136 x 3.68864025
137 x 3.55391765
138 x 2.93808829
139 x 2.69403734
140 x 2.61952900
141 x 2.30529302
142 x 2.79208272
143 x 1.73460365
144 x 5.16895597
145 x 4.20796200
146 x 1.87689142
147 x 2.59711516
148 x 2.53334465
149 x 3.77996512
150 x 2.91663093
151 x 3.25331851
152 x 2.97145324
153 x 2.95712954
154 x 4.36860228
155 x 2.77422901
156 x 4.51647060
157 x 1.45124720
158 x 3.58461375
159 x 3.12385424
160 x 3.21594157
161 x 3.37963948
162 x 2.49767655
163 x 2.66679262
164 x 1.98142462
165 x 1.92820877
166 x 3.30352864
167 x 3.44820978
168 x 3.05300423
169 x 3.92226747
170 x 5.05008469
171 x 2.50896883
172 x 0.69083112
173 x 4.00573852
174 x 2.29079924
175 x 2.31199138
176 x 4.02557137
177 x 2.71522699
178 x 1.77928229
179 x 3.18130348
180 x 2.86110864
181 x 3.00576419
182 x 3.38528040
183 x 2.62933997
184 x 3.64437655
185 x 2.77951344
186 x 3.33178196
187 x 4.09683901
188 x 3.43518149
189 x 2.67406841
190 x 4.14880762
191 x 3.99350386
192 x 3.54839696
193 x 3.23873174
194 x 2.37209392
195 x 4.36065245
196 x 2.39974041
197 x 5.18733299
198 x 4.53261063
199 x 2.76429964
200 x 1.97357910
Graf srovnání podmínek
ggplot(df2, aes(x = value, fill = condition)) +geom_histogram(bins =20, alpha =0.5, position ="identity") +labs(title ="Histogram of x and aa", x ="value", y ="count") +theme_minimal()
Podmínky byly vytvořeny tak, aby hodnoty v nich obsažené měly normální distribuci (gaussovskou). Mělo by to jít vidět i na grafu.Díky tomu můžeme zhruba určit, kolik hodnot v dané podmínce dosahuje průměrného čísla a kolik je od průměru daleko. Ověření (nemusíte dělat):
shapiro.test(x)
Shapiro-Wilk normality test
data: x
W = 0.99388, p-value = 0.9349
Nulová hypotéza pro test normality je, že distribuce je normální. Tím, že p-value je vysoká (nad 0.05), nulovou hypotézu nemůžeme vyvrátit, takže podmínka x je opravdu distribuovaná normálně.
T-test
Protože máme normálně distribuované podmínky, většina čísel obsažených v každé podmínce je průměrných, takže je pro nás relevantní srovnat podmínky t-testem, který operuje právě s průměry.
Chceme dvouvýběrový t-test, tedy t-test provedený na dvou podmínkách.
Nulová hypotéza by byla, že neexistuje rozdíl mezi průměrnou hodnotou podmínky “x” a podmínky “aa” (nebo té, kterou tam zadáte vy). Čím nižší p-value, tím méně pravděpodobná je nulová hypotéza. Pokud je p-value menší než 0.05, říkáme, že jsme našli statisticky významný rozdíl.
t.test(x, aa, alternative ="two.sided")
Welch Two Sample t-test
data: x and aa
t = 18.785, df = 197.35, p-value < 2.2e-16
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
2.235714 2.760192
sample estimates:
mean of x mean of y
3.0904059 0.5924532
Tento t-test nám ukazuje, že p-hodnota při srovnání podmínek “x” a “aa” je velmi nízká, daleko menší než konvenční hranice 0,05. Znamená to, že nulovou hypotézu můžeme jednoznačně vyvrátit. Platí alternativní hypotéza: průměry těchto dvou podmínek se liší.