RAL Faktorial Berulang

Kelompok 3:

  1. Andi Illa Erviani Nensi (M0501241035)

  2. Wildatul Maulidiyah (M0501241091)

  3. Felasofa Rahmatanti (M0501241033)

  4. Wawan Saputra (M0501241017)

  5. I Gusti Ngurah Sentana Putra (M0501241019)

Kasus.

Kasus data yang digunakan pada rancangan percobaan ini yaitu tentang pertumbuhan dan perkembangan kecambah kacang hijau dianalisis dengan dua jenis faktor, yaitu intensitas cahaya (IC) dan media tanam (MT), yang masing-masing memiliki level berbeda. Faktor intensitas cahaya terbagi menjadi tiga level: IC1 (Gelap), IC2 (Redup), dan IC3 (Terang). Sementara itu, faktor media tanam memiliki dua level: MT1 (Tanah) dan MT2 (Kapas). Dengan kombinasi ini, terdapat 3x2 = 6 perlakuan yang diujikan. Setiap kombinasi diulang tiga kali, sehingga total unit percobaan yang digunakan adalah 6x3 = 18 unit. Pengamatan dilakukan selama tujuh hari, dan setiap unit percobaan menerima volume air yang sama. 

Creating the data frame for repeated measures

data <- data.frame(
  intensitas = factor(rep(c("IC1", "IC2", "IC3"), each = 6 * 7)),
  media = factor(rep(c("MT1", "MT2"), each = 3 * 7, times = 3)),
  ulangan = factor(rep(rep(1:3, each = 7), times = 6)),
  hari = factor(rep(1:7, times = 18)),
  panjang = c(
    # Day-by-day data for all combinations
    # IC1, MT1
    0.52, 0.62, 3.90, 9.30, 11.50, 24.30, 30.40,
    0.78, 0.86, 3.98, 11.70, 15.45, 28.50, 34.40,
    0.76, 0.94, 3.30, 6.50, 11.33, 25.24, 32.00,
    # IC1, MT2
    0.48, 0.66, 2.44, 3.66, 7.75, 11.77, 16.38,
    0.76, 0.94, 2.04, 6.14, 10.80, 15.00, 19.94,
    0.94, 1.06, 2.40, 3.90, 9.21, 14.39, 18.88,
    # IC2, MT1
    0.98, 2.78, 10.60, 18.50, 23.90, 31.00, 38.09,
    1.04, 3.08, 10.40, 20.60, 24.75, 30.90, 37.66,
    0.58, 2.44, 9.64, 16.80, 21.00, 27.54, 34.00,
    # IC2, MT2
    0.24, 0.56, 1.08, 2.96, 11.25, 18.67, 26.25,
    1.08, 1.60, 8.50, 18.30, 25.40, 32.00, 36.67,
    0.50, 0.96, 2.66, 5.08, 12.85, 18.89, 26.55,
    # IC3, MT1
    0.14, 0.20, 4.20, 7.24, 8.03, 10.23, 12.73,
    0.20, 0.26, 2.02, 3.80, 6.12, 8.64, 12.77,
    0.18, 0.24, 1.70, 2.64, 5.56, 8.64, 11.00,
    # IC3, MT2
    0.05, 0.15, 0.32, 0.50, 0.75, 0.90, 1.03,
    0.00, 0.00, 0.01, 0.02, 0.03, 0.03, 0.05,
    0.14, 0.22, 0.28, 0.28, 0.29, 0.29, 0.32
  )
)
data
    intensitas media ulangan hari panjang
1          IC1   MT1       1    1    0.52
2          IC1   MT1       1    2    0.62
3          IC1   MT1       1    3    3.90
4          IC1   MT1       1    4    9.30
5          IC1   MT1       1    5   11.50
6          IC1   MT1       1    6   24.30
7          IC1   MT1       1    7   30.40
8          IC1   MT1       2    1    0.78
9          IC1   MT1       2    2    0.86
10         IC1   MT1       2    3    3.98
11         IC1   MT1       2    4   11.70
12         IC1   MT1       2    5   15.45
13         IC1   MT1       2    6   28.50
14         IC1   MT1       2    7   34.40
15         IC1   MT1       3    1    0.76
16         IC1   MT1       3    2    0.94
17         IC1   MT1       3    3    3.30
18         IC1   MT1       3    4    6.50
19         IC1   MT1       3    5   11.33
20         IC1   MT1       3    6   25.24
21         IC1   MT1       3    7   32.00
22         IC1   MT2       1    1    0.48
23         IC1   MT2       1    2    0.66
24         IC1   MT2       1    3    2.44
25         IC1   MT2       1    4    3.66
26         IC1   MT2       1    5    7.75
27         IC1   MT2       1    6   11.77
28         IC1   MT2       1    7   16.38
29         IC1   MT2       2    1    0.76
30         IC1   MT2       2    2    0.94
31         IC1   MT2       2    3    2.04
32         IC1   MT2       2    4    6.14
33         IC1   MT2       2    5   10.80
34         IC1   MT2       2    6   15.00
35         IC1   MT2       2    7   19.94
36         IC1   MT2       3    1    0.94
37         IC1   MT2       3    2    1.06
38         IC1   MT2       3    3    2.40
39         IC1   MT2       3    4    3.90
40         IC1   MT2       3    5    9.21
41         IC1   MT2       3    6   14.39
42         IC1   MT2       3    7   18.88
43         IC2   MT1       1    1    0.98
44         IC2   MT1       1    2    2.78
45         IC2   MT1       1    3   10.60
46         IC2   MT1       1    4   18.50
47         IC2   MT1       1    5   23.90
48         IC2   MT1       1    6   31.00
49         IC2   MT1       1    7   38.09
50         IC2   MT1       2    1    1.04
51         IC2   MT1       2    2    3.08
52         IC2   MT1       2    3   10.40
53         IC2   MT1       2    4   20.60
54         IC2   MT1       2    5   24.75
55         IC2   MT1       2    6   30.90
56         IC2   MT1       2    7   37.66
57         IC2   MT1       3    1    0.58
58         IC2   MT1       3    2    2.44
59         IC2   MT1       3    3    9.64
60         IC2   MT1       3    4   16.80
61         IC2   MT1       3    5   21.00
62         IC2   MT1       3    6   27.54
63         IC2   MT1       3    7   34.00
64         IC2   MT2       1    1    0.24
65         IC2   MT2       1    2    0.56
66         IC2   MT2       1    3    1.08
67         IC2   MT2       1    4    2.96
68         IC2   MT2       1    5   11.25
69         IC2   MT2       1    6   18.67
70         IC2   MT2       1    7   26.25
71         IC2   MT2       2    1    1.08
72         IC2   MT2       2    2    1.60
73         IC2   MT2       2    3    8.50
74         IC2   MT2       2    4   18.30
75         IC2   MT2       2    5   25.40
76         IC2   MT2       2    6   32.00
77         IC2   MT2       2    7   36.67
78         IC2   MT2       3    1    0.50
79         IC2   MT2       3    2    0.96
80         IC2   MT2       3    3    2.66
81         IC2   MT2       3    4    5.08
82         IC2   MT2       3    5   12.85
83         IC2   MT2       3    6   18.89
84         IC2   MT2       3    7   26.55
85         IC3   MT1       1    1    0.14
86         IC3   MT1       1    2    0.20
87         IC3   MT1       1    3    4.20
88         IC3   MT1       1    4    7.24
89         IC3   MT1       1    5    8.03
90         IC3   MT1       1    6   10.23
91         IC3   MT1       1    7   12.73
92         IC3   MT1       2    1    0.20
93         IC3   MT1       2    2    0.26
94         IC3   MT1       2    3    2.02
95         IC3   MT1       2    4    3.80
96         IC3   MT1       2    5    6.12
97         IC3   MT1       2    6    8.64
98         IC3   MT1       2    7   12.77
99         IC3   MT1       3    1    0.18
100        IC3   MT1       3    2    0.24
101        IC3   MT1       3    3    1.70
102        IC3   MT1       3    4    2.64
103        IC3   MT1       3    5    5.56
104        IC3   MT1       3    6    8.64
105        IC3   MT1       3    7   11.00
106        IC3   MT2       1    1    0.05
107        IC3   MT2       1    2    0.15
108        IC3   MT2       1    3    0.32
109        IC3   MT2       1    4    0.50
110        IC3   MT2       1    5    0.75
111        IC3   MT2       1    6    0.90
112        IC3   MT2       1    7    1.03
113        IC3   MT2       2    1    0.00
114        IC3   MT2       2    2    0.00
115        IC3   MT2       2    3    0.01
116        IC3   MT2       2    4    0.02
117        IC3   MT2       2    5    0.03
118        IC3   MT2       2    6    0.03
119        IC3   MT2       2    7    0.05
120        IC3   MT2       3    1    0.14
121        IC3   MT2       3    2    0.22
122        IC3   MT2       3    3    0.28
123        IC3   MT2       3    4    0.28
124        IC3   MT2       3    5    0.29
125        IC3   MT2       3    6    0.29
126        IC3   MT2       3    7    0.32
library(lme4)
Loading required package: Matrix
library(lmerTest)

Attaching package: 'lmerTest'
The following object is masked from 'package:lme4':

    lmer
The following object is masked from 'package:stats':

    step
# Convert 'hari' to numeric for plotting
data$hari_num <- as.numeric(as.character(data$hari))

Eksplorasi Data

# Calculate descriptive statistics
library(dplyr)

Attaching package: 'dplyr'
The following objects are masked from 'package:stats':

    filter, lag
The following objects are masked from 'package:base':

    intersect, setdiff, setequal, union
data_descriptives <- data %>%
  group_by(intensitas, media, hari) %>%
  summarize(mean = mean(panjang), 
            sd = sd(panjang), 
            count = n(), 
            .groups = 'drop')
summary(data_descriptives)
 intensitas media    hari       mean                sd              count  
 IC1:14     MT1:21   1:6   Min.   : 0.06333   Min.   :0.03055   Min.   :3  
 IC2:14     MT2:21   2:6   1st Qu.: 0.69667   1st Qu.:0.24272   1st Qu.:3  
 IC3:14              3:6   Median : 4.32000   Median :0.96427   Median :3  
                     4:6   Mean   : 9.01865   Mean   :1.65544   Mean   :3  
                     5:6   3rd Qu.:13.48000   3rd Qu.:2.00232   3rd Qu.:3  
                     6:6   Max.   :36.58333   Max.   :8.31242   Max.   :3  
                     7:6                                                   
# Convert 'hari' to numeric for plotting in descriptive statistics
data_descriptives$hari_num <- as.numeric(as.character(data_descriptives$hari))
# Plot Descriptive Statistics for both media (MT1 and MT2) together
library(ggplot2)
ggplot() +
  coord_cartesian(ylim=c(0, 40), xlim=c(0, 8)) +
  scale_y_continuous(expand=c(0, 0), breaks=seq(from=0, to=40, by=5)) + 
  scale_x_continuous(breaks=1:7, labels=1:7) + 
  ylab('Panjang (Growth)') +
  xlab('Hari (Days)') +
  ggtitle("Descriptive Statistics of Growth Over Days") +  # Add title
  theme(
    legend.position = "bottom", 
    panel.background = element_blank(),  # Set panel background to white
    plot.background = element_blank()    # Set plot background to white
  ) +
  geom_jitter(data=data, shape=16, size=1, width=0.2, alpha=0.4, 
              aes(x=hari_num, y=panjang, col=intensitas)) +
  geom_point(data=data_descriptives, size=3, 
             position=position_dodge(0.25),
             aes(x=hari_num, y=mean, col=intensitas)) + 
  geom_line(data=data_descriptives, size=1,
            aes(x=hari_num, y=mean, col=intensitas)) 
Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
ℹ Please use `linewidth` instead.

# Create separate plots for MT1 and MT2
ggplot(data_descriptives, aes(x=hari_num, y=mean, color=intensitas)) +
  geom_point(size=3, position=position_dodge(0.25)) +
  geom_line(size=1, position=position_dodge(0.25)) +
  scale_y_continuous(expand=c(0, 0), breaks=seq(from=0, to=40, by=5)) + 
  scale_x_continuous(breaks=1:7, labels=1:7) + 
  ylab('Panjang (Growth)') +
  xlab('Hari (Days)') +
  ggtitle("Descriptive Statistics of Growth Over Days by Media") +  # Add title
  theme(
    legend.position = "bottom", 
    panel.background = element_blank(),  # Set panel background to white
    plot.background = element_blank()    # Set plot background to white
  ) +
  facet_wrap(~ media)  # Separate plots for each media type (MT1 and MT2)

# Interaction plot for intensitas and media
interaction_plot <- data %>%
  group_by(intensitas, media) %>%
  summarize(mean_panjang = mean(panjang), .groups = 'drop')

ggplot(interaction_plot, aes(x = intensitas, y = mean_panjang, color = media, group = media)) +
  geom_line() +
  geom_point(size = 3) +
  labs(title = "Interaction Plot of Panjang by Intensitas and Media",
       x = "Intensitas",
       y = "Mean Panjang") +
  theme_minimal() +
  scale_color_manual(values = c("MT1" = "blue", "MT2" = "red"))

Analisis of Varian Faktorial Tanpa Pengulangan

anova_result <- aov(panjang ~ ., data = data)
summary_result <- summary(anova_result)
print(summary_result)
             Df Sum Sq Mean Sq F value Pr(>F)    
intensitas    2   3076  1537.9  57.335 <2e-16 ***
media         1    822   822.1  30.651  2e-07 ***
ulangan       2    125    62.3   2.323  0.103    
hari          6   7101  1183.5  44.124 <2e-16 ***
Residuals   114   3058    26.8                   
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Analisis of Varian Rancangan Acak Lengkap Dengan Faktorial Berulang

anova_model_lmer <- lmer(panjang ~ intensitas * media * hari + (1 | ulangan), data = data)
anova(anova_model_lmer)
Type III Analysis of Variance Table with Satterthwaite's method
                      Sum Sq Mean Sq NumDF DenDF  F value    Pr(>F)    
intensitas            3075.7 1537.86     2    82 266.4766 < 2.2e-16 ***
media                  822.1  822.12     1    82 142.4553 < 2.2e-16 ***
hari                  7101.0 1183.50     6    82 205.0746 < 2.2e-16 ***
intensitas:media         2.1    1.07     2    82   0.1847   0.83167    
intensitas:hari       2014.5  167.87    12    82  29.0888 < 2.2e-16 ***
media:hari             446.0   74.33     6    82  12.8803 3.365e-10 ***
intensitas:media:hari  121.9   10.16    12    82   1.7600   0.06898 .  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Uji Lanjut (Post-Hoc)

  1. Uji Kontrast Ortogonal

    # Kontra ortogonal
    contrasts(data$intensitas) <- cbind(
      c(1, -1, 0),  # IC1 vs IC2
      c(1, 0, -1),  # IC1 vs IC3
      c(0, 1, -1)   # IC2 vs IC3
    )
    
    # Defining orthogonal contrasts for media
    contrasts(data$media) <- cbind(
      c(1, -1)  # MT1 vs MT2
    )
    # Re-running the ANOVA with contrasts
    anova_model_contrast <- aov(panjang ~ intensitas * media + Error(ulangan/(intensitas * media)), data = data)
    
    # Summary of the ANOVA model with contrasts
    summary(anova_model_contrast, split = list(intensitas = list(
      "IC1 vs IC2" = 1,
      "IC1 vs IC3" = 2,
      "IC2 vs IC3" = 3
    ), media = list(
      "MT1 vs MT2" = 1
    )))
    
    Error: ulangan
              Df Sum Sq Mean Sq F value Pr(>F)
    Residuals  2  124.6    62.3               
    
    Error: ulangan:intensitas
                             Df Sum Sq Mean Sq F value  Pr(>F)   
    intensitas                2 3075.7  1537.9   43.60 0.00192 **
      intensitas: IC1 vs IC2  1  537.6   537.6   15.24 0.01748 * 
      intensitas: IC1 vs IC3  1 2538.1  2538.1   71.96 0.00106 **
      intensitas: IC2 vs IC3  1                                  
    Residuals                 4  141.1    35.3                   
    ---
    Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
    
    Error: ulangan:media
                        Df Sum Sq Mean Sq F value Pr(>F)  
    media                1  822.1   822.1   34.37 0.0279 *
      media: MT1 vs MT2  1  822.1   822.1   34.37 0.0279 *
    Residuals            2   47.8    23.9                 
    ---
    Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
    
    Error: ulangan:intensitas:media
                                              Df Sum Sq Mean Sq F value Pr(>F)
    intensitas:media                           2   2.13   1.066   0.045  0.956
      intensitas:media: IC1 vs IC2.MT1 vs MT2  1                              
      intensitas:media: IC1 vs IC3.MT1 vs MT2  1                              
      intensitas:media: IC2 vs IC3.MT1 vs MT2  1                              
    Residuals                                  4  93.76  23.439               
    
    Error: Within
               Df Sum Sq Mean Sq F value Pr(>F)
    Residuals 108   9874   91.43               
# Misalkan 'data' adalah dataset Anda dan 'panjang' adalah variabel respon (misalnya, panjang tanaman)
data$hari <- as.factor(data$hari)  # Pastikan hari sebagai faktor

# Definisikan kontras ortogonal untuk 'hari' selama 7 hari
contrasts(data$hari) <- cbind(
  c(1, -1, 0, 0, 0, 0, 0),   # Hari 1 vs Hari 2
  c(1, 1, -2, 0, 0, 0, 0),   # Hari 1-2 vs Hari 3
  c(1, 1, 1, -3, 0, 0, 0),   # Hari 1-3 vs Hari 4
  c(1, 1, 1, 1, -4, 0, 0),   # Hari 1-4 vs Hari 5
  c(1, 1, 1, 1, 1, -5, 0),   # Hari 1-5 vs Hari 6
  c(1, 1, 1, 1, 1, 1, -6)    # Hari 1-6 vs Hari 7
)

# Lakukan ANOVA dengan kontras ortogonal
anova_model_hari <- aov(panjang ~ hari + Error(ulangan/hari), data = data)

# Ringkasan model ANOVA dengan split kontras
summary(anova_model_hari, split = list(hari = list(
  "Hari 1 vs Hari 2" = 1,
  "Hari 1-2 vs Hari 3" = 2,
  "Hari 1-3 vs Hari 4" = 3,
  "Hari 1-4 vs Hari 5" = 4,
  "Hari 1-5 vs Hari 6" = 5,
  "Hari 1-6 vs Hari 7" = 6
)))

Error: ulangan
          Df Sum Sq Mean Sq F value Pr(>F)
Residuals  2  124.6    62.3               

Error: ulangan:hari
                           Df Sum Sq Mean Sq F value   Pr(>F)    
hari                        6   7101    1184  228.05 1.19e-11 ***
  hari: Hari 1 vs Hari 2    1      2       2    0.36 0.559720    
  hari: Hari 1-2 vs Hari 3  1    116     116   22.38 0.000488 ***
  hari: Hari 1-3 vs Hari 4  1    466     466   89.84 6.37e-07 ***
  hari: Hari 1-4 vs Hari 5  1    965     965  186.04 1.15e-08 ***
  hari: Hari 1-5 vs Hari 6  1   2218    2218  427.34 9.48e-11 ***
  hari: Hari 1-6 vs Hari 7  1   3333    3333  642.33 8.65e-12 ***
Residuals                  12     62       5                     
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Error: Within
           Df Sum Sq Mean Sq F value Pr(>F)
Residuals 105   6893   65.65