options(max.print = 10000)} {
Strona internetowa o zbiorze Chickweight
1 Wstępny opis zbioru Chickweight
Zbiór danych został przedstawiony w książce „Analysis of Repeated Measures” z 1990 roku autorstwa Martina J. Crowdera i Davida J. Dane zostały zebrane przez studenta żywienia, aby przetestować wpływ białka w 4 rodzajach paszy na wczesny rozwój piskląt. 4 pasze to kontrola (dieta normalna) i 3 pasze testowe (10%, 20% i 40% zamiennik białka).
Weight - wektor liczbowy podający masę ciała pisklęcia (g).
Time - wektor liczbowy podający liczbę dni od urodzenia, kiedy dokonano pomiaru.
Chick - uporządkowany czynnik z poziomami 18 < … < 48 podający unikalny identyfikator pisklęcia.
Diet - czynnik z poziomami 1, …, 4 wskazujący, jaką eksperymentalną dietę otrzymało pisklę.
Przy wysokiej ilość obserwacji takich jak w ChickWeight możemy zwiększyć domyślny wypisywany ilość tesksty w rstudio wykożystująć funkcje:
2 Obliczanie średnich
attach(ChickWeight)
head(ChickWeight)
weight Time Chick Diet
1 42 0 1 1
2 51 2 1 1
3 59 4 1 1
4 64 6 1 1
5 76 8 1 1
6 93 10 1 1
Średnia dla przypożądkowanych Diet:
aggregate(weight~Diet,ChickWeight,mean)
Diet weight
1 1 102.6455
2 2 122.6167
3 3 142.9500
4 4 135.2627
Średnia dla poszczególnych przedziału czasowych oraz włączona z dietami:
aggregate(weight~Diet+Time,ChickWeight,mean)
Diet Time weight
1 1 0 41.40000
2 2 0 40.70000
3 3 0 40.80000
4 4 0 41.00000
5 1 2 47.25000
6 2 2 49.40000
7 3 2 50.40000
8 4 2 51.80000
9 1 4 56.47368
10 2 4 59.80000
11 3 4 62.20000
12 4 4 64.50000
13 1 6 66.78947
14 2 6 75.40000
15 3 6 77.90000
16 4 6 83.90000
17 1 8 79.68421
18 2 8 91.70000
19 3 8 98.40000
20 4 8 105.60000
21 1 10 93.05263
22 2 10 108.50000
23 3 10 117.10000
24 4 10 126.00000
25 1 12 108.52632
26 2 12 131.30000
27 3 12 144.40000
28 4 12 151.40000
29 1 14 123.38889
30 2 14 141.90000
31 3 14 164.50000
32 4 14 161.80000
33 1 16 144.64706
34 2 16 164.70000
35 3 16 197.40000
36 4 16 182.00000
37 1 18 158.94118
38 2 18 187.70000
39 3 18 233.10000
40 4 18 202.90000
41 1 20 170.41176
42 2 20 205.60000
43 3 20 258.90000
44 4 20 233.88889
45 1 21 177.75000
46 2 21 214.70000
47 3 21 270.30000
48 4 21 238.55556
3 Miary Klasyczne
3.1 Miary statystyczne w funkcji summary().
Na początku omówione zostaną podstawowe terminy ze statystyki, pokazane zostaną przez funkcję summary().
summary(ChickWeight)
weight Time Chick Diet
Min. : 35.0 Min. : 0.00 13 : 12 1:220
1st Qu.: 63.0 1st Qu.: 4.00 9 : 12 2:120
Median :103.0 Median :10.00 20 : 12 3:120
Mean :121.8 Mean :10.72 10 : 12 4:118
3rd Qu.:163.8 3rd Qu.:16.00 17 : 12
Max. :373.0 Max. :21.00 19 : 12
(Other):506
Wyświetlone zostały takie wartości jak: minimum, maksimum, pierwszy i trzeci kwantyl, mediana oraz średnia dla wagi wszystkich obserwowanych podmiotów. Nastepnie w kolumnie time wyświetlone zostały te same mierniki tym razem dotyczyły czasu przeprowadzanych pomiarów Kolumna chicken informuje nas o danym identifikatoże dla konkretnego piskląta. W kolemnie Diet zostały wyświetlone informacje dotyczące ilość obserwacji przeprowadzone dla konkretnego Diety zaimplementowanej do piskląt. Numer 506 informuje nas o ilość obserwacji.
3.2 Dominanta
library(DescTools)
Mode(weight)
[1] 41
attr(,"freq")
[1] 20
Wyświetla najwiekszą ilość liczebność piskląt tej samej wagi w tym przypadku jest to 20 pisklaków o wadze 41
3.3 Wariacja
Wariacja dla konkretnych rodzaju zaimplementowanej diety:
var(weight[Diet=='1'])
[1] 3209.965
var(weight[Diet=='2'])
[1] 5127.633
var(weight[Diet=='3'])
[1] 7489.476
var(weight[Diet=='4'])
[1] 4737.392
3.4 Odchylenie standardowe
Odchylenie standardowe będzie liczone dla tych samych wartości co wariancja:
sd(weight[Diet=='1'])
[1] 56.65655
sd(weight[Diet=='2'])
[1] 71.60749
sd(weight[Diet=='3'])
[1] 86.54176
sd(weight[Diet=='4'])
[1] 68.82871
4 Wykresy
plot(ChickWeight$Time,ChickWeight$weight,xlab = 'time',ylab = 'weight')
Wykres przedstawia liczebność piskląt o określonej wadze przy konkretych pomiarach obserwacyjnych
4.1 Wykres pudełkowy
boxplot(weight ~ Diet,
data = ChickWeight,
main = "Wykres pudełkowy wagi kurczaków w podziale na diety",
xlab = "Dieta",
ylab = "Waga",
col = c("blue", "green", "red", "orange"))
Wykres przedstawia liczbność wagi kurczaków dla konkretnego przydzielonego podziału na diety. Widzimi że na diecie 3 wystepuje najwiekszy rozrzut danych, wiec jest to najbardziej optymalna dieta do implementacji.
boxplot(weight ~ Time,
data = ChickWeight,
main = "Wykres pudełkowy wagi kurczaków w czasie",
xlab = "Czas (dni)",
ylab = "Waga",
col = rainbow(21))
Wykres przedstawia rozrzut wagi kurczaków w czasie 21 dni obserwacji.
5 Histogramy
hist(x = ChickWeight$weight,
xlab = "Waga",
ylab = "liczba",
main = "Podział na wage",
col = rainbow(8))
Histogram przedstawiający wage dla wszystkich obserwacji.
par(mfrow = c(2, 2))
for (diet.i in 1:4) {
hist(x = ChickWeight$weight[ChickWeight$Diet == diet.i],
xlab = "waga",
ylab = "liczba",
xlim = c(0, 400),
main = paste("Waga kurzczaka \nDiet ", diet.i, sep = "")
)
}
Histogramy podzielone miedzy poszczególnymi obserwacji dla poszczególnych diet
6 Wykres liniowo porównawczy
Wykres linowy przedstawia zmiany wagi dla każdego kurczaka w określonym czasie podzielonego na odpowiednie diety. Pogróbioną linią zaznaczone jest średnia waga kurczaków na przestrzeni czasu. Jak można zauważyć najwyżej położona jest średnia dla diet 3 (najbardziej optymalna do implementacji) W niektórych przypadkach pisklaki nie dochądzą do 21 dni obserwacji
library(ggplot2)
ggplot(ChickWeight, aes(x = Time, y = weight, color = Diet, group = interaction(Diet, Chick))) +
geom_point(alpha = 0.5) +
geom_line(alpha = 0.7) +
stat_summary(fun = median, geom = "line", aes(group = Diet), size = 1.2) +
labs(
title = "Waga kurczaka w czasie",
x = "dni",
y = "Waga",
color = "Diet"
+
) theme_minimal()
7 Wykres Gestość
Wykres przedstawia Gestość dla poszczególnych masy kurczaków
ggplot(ChickWeight, aes(x = weight, fill = Diet)) +
geom_density(alpha = 0.5) +
labs(
title = "Wykres gęstości masy kurczaków",
x = "Waga",
y = "Gęstość",
fill = "Diet"
+
) theme_minimal()
8 Podsumowanie
Na stronie internetowej zostało pokazane wiele różnych sposobów analizowanych danych ze zbioru Chickweight. Przedstawione zostały metody obliczania niektórych miar dzięki językowi R, a także ich graficzne prezentowanie.