#______Kontras Ortogonal dan Polinomial Ortogonal_____#

#_Input data 1_#
Varietas <- factor(rep(LETTERS[1:4], each = 6))
Hasil <- c(25.1, 17.2, 26.4, 16.1, 22.2, 15.9, 
           40.2, 35.3, 32.0, 36.5, 43.3, 37.1,
           18.3, 22.6, 25.9, 15.1, 11.4, 23.7,
           28.0, 28.6, 33.2, 31.7, 30.3, 27.6)
data1 <- data.frame(Varietas, Hasil)
head(data1)
##   Varietas Hasil
## 1        A  25.1
## 2        A  17.2
## 3        A  26.4
## 4        A  16.1
## 5        A  22.2
## 6        A  15.9
str(data1)
## 'data.frame':    24 obs. of  2 variables:
##  $ Varietas: Factor w/ 4 levels "A","B","C","D": 1 1 1 1 1 1 2 2 2 2 ...
##  $ Hasil   : num  25.1 17.2 26.4 16.1 22.2 15.9 40.2 35.3 32 36.5 ...
#_Kontras Ortogonal_#
anova1 <- aov(Hasil ~ Varietas, data = data1)
contrasts(data1$Varietas) <- cbind(c(3, -1, -1, -1), c(0, 1, -1, 0),
                             c(0, 1, 1, -2))
contrasts(data1$Varietas)
##   [,1] [,2] [,3]
## A    3    0    0
## B   -1    1    1
## C   -1   -1    1
## D   -1    0   -2
anova_1 <- aov(Hasil ~ Varietas, data = data1)
summary(anova_1)
##             Df Sum Sq Mean Sq F value   Pr(>F)    
## Varietas     3 1291.0   430.3   23.46 9.32e-07 ***
## Residuals   20  366.9    18.3                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary.aov(anova_1, split = list (Varietas = list('A vs BCD' = 1, 'B vs C' = 2,
                                   'BC vs D' = 3)))
##                      Df Sum Sq Mean Sq F value   Pr(>F)    
## Varietas              3 1291.0   430.3  23.458 9.32e-07 ***
##   Varietas: A vs BCD  1  321.3   321.3  17.515 0.000456 ***
##   Varietas: B vs C    1  961.2   961.2  52.399 5.27e-07 ***
##   Varietas: BC vs D   1    8.4     8.4   0.458 0.506106    
## Residuals            20  366.9    18.3                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#_Input data 2_#
kerapatan <- factor(rep(c(10, 20, 30, 40, 50), each = 3))
hasil <- c(12.2, 11.4, 12.4,
           16.0, 15.5, 16.5, 
           18.6, 20.2, 18.2,
           17.6, 19.3, 17.1,
           18.0, 16.4, 16.6)
data2 <- data.frame(kerapatan, hasil)
head(data2)
##   kerapatan hasil
## 1        10  12.2
## 2        10  11.4
## 3        10  12.4
## 4        20  16.0
## 5        20  15.5
## 6        20  16.5
str(data2)
## 'data.frame':    15 obs. of  2 variables:
##  $ kerapatan: Factor w/ 5 levels "10","20","30",..: 1 1 1 2 2 2 3 3 3 4 ...
##  $ hasil    : num  12.2 11.4 12.4 16 15.5 16.5 18.6 20.2 18.2 17.6 ...
#_Polinomial Ortogonal_#
anova2 <- aov(hasil ~ kerapatan, data = data2)
contrasts(data2$kerapatan) <- cbind(c(-2, -1, 0, 1, 2), c(2, -1, -2, -1, 2),
                                    c(-1, 2, 0, -2, 1), c(1, -4, 6, -4, 1))
contrasts(data2$kerapatan)
##    [,1] [,2] [,3] [,4]
## 10   -2    2   -1    1
## 20   -1   -1    2   -4
## 30    0   -2    0    6
## 40    1   -1   -2   -4
## 50    2    2    1    1
anova_2 <- aov(hasil ~ kerapatan, data = data2)
summary(anova_2)
##             Df Sum Sq Mean Sq F value   Pr(>F)    
## kerapatan    4  87.60  21.900   29.28 1.69e-05 ***
## Residuals   10   7.48   0.748                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary.aov(anova_2, split = list (kerapatan = list('Linear' = 1, 'Kuadratik' = 2,
                                                   'Kubik' = 3, 'Kuartik' = 4)))
##                        Df Sum Sq Mean Sq F value   Pr(>F)    
## kerapatan               4  87.60   21.90  29.278 1.69e-05 ***
##   kerapatan: Linear     1  43.20   43.20  57.754 1.84e-05 ***
##   kerapatan: Kuadratik  1  42.00   42.00  56.150 2.08e-05 ***
##   kerapatan: Kubik      1   0.30    0.30   0.401    0.541    
##   kerapatan: Kuartik    1   2.10    2.10   2.807    0.125    
## Residuals              10   7.48    0.75                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#atau#
contrasts(data2$kerapatan) <- contr.poly(5)
summary.aov(anova_2, split = list (kerapatan = list('Linear' = 1, 'Kuadratik' = 2,
                                                    'Kubik' = 3, 'Kuartik' = 4)))
##                        Df Sum Sq Mean Sq F value   Pr(>F)    
## kerapatan               4  87.60   21.90  29.278 1.69e-05 ***
##   kerapatan: Linear     1  43.20   43.20  57.754 1.84e-05 ***
##   kerapatan: Kuadratik  1  42.00   42.00  56.150 2.08e-05 ***
##   kerapatan: Kubik      1   0.30    0.30   0.401    0.541    
##   kerapatan: Kuartik    1   2.10    2.10   2.807    0.125    
## Residuals              10   7.48    0.75                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1