`

#_Input data_#
Suplemen <- factor(rep(LETTERS[1:6], each = 4))
Bobot_Badan <- c(6.78,  6.51,   6.92,   7.08,
                 6.88,  6.13,   7.21,   7.84,
                 9.80,  9.72,   10.14,  9.53,
                 7.50,  7.89,   6.40,   8.22,
                 6.87,  6.99,   7.11,   6.54,
                 7.13,  8.00,   9.62,   7.09)
data_contoh <- data.frame(Suplemen, Bobot_Badan)
data_contoh
##    Suplemen Bobot_Badan
## 1         A        6.78
## 2         A        6.51
## 3         A        6.92
## 4         A        7.08
## 5         B        6.88
## 6         B        6.13
## 7         B        7.21
## 8         B        7.84
## 9         C        9.80
## 10        C        9.72
## 11        C       10.14
## 12        C        9.53
## 13        D        7.50
## 14        D        7.89
## 15        D        6.40
## 16        D        8.22
## 17        E        6.87
## 18        E        6.99
## 19        E        7.11
## 20        E        6.54
## 21        F        7.13
## 22        F        8.00
## 23        F        9.62
## 24        F        7.09
str(data_contoh)
## 'data.frame':    24 obs. of  2 variables:
##  $ Suplemen   : Factor w/ 6 levels "A","B","C","D",..: 1 1 1 1 2 2 2 2 3 3 ...
##  $ Bobot_Badan: num  6.78 6.51 6.92 7.08 6.88 6.13 7.21 7.84 9.8 9.72 ...
anova_contoh <- aov(Bobot_Badan ~ Suplemen, data = data_contoh)
summary(anova_contoh)
##             Df Sum Sq Mean Sq F value   Pr(>F)    
## Suplemen     5 25.654   5.131   11.33 4.72e-05 ***
## Residuals   18  8.154   0.453                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
anova_contoh <- aov(Bobot_Badan ~ Suplemen, data = data_contoh)
contrasts(data_contoh$Suplemen) <- cbind(c(2, 2, -1, -1, -1, -1), c(1,-1, 0, 0, 0, 0),
                                         c(0, 0, 1, 1, -1, -1), c(0, 0, 1, -1, 0, 0), 
                                         c(0, 0, 0, 0, 1, -1))
contrasts(data_contoh$Suplemen)
##   [,1] [,2] [,3] [,4] [,5]
## A    2    1    0    0    0
## B    2   -1    0    0    0
## C   -1    0    1    1    0
## D   -1    0    1   -1    0
## E   -1    0   -1    0    1
## F   -1    0   -1    0   -1
summary.aov(anova_contoh, split = list (Suplemen = list('Kontras1' = 1, 'Kontras2' = 2,
                                   'Kontras3' = 3, 'Kontras4' = 4, 'Kontras5' = 5)))
##                      Df Sum Sq Mean Sq F value   Pr(>F)    
## Suplemen              5 25.654   5.131  11.326 4.72e-05 ***
##   Suplemen: Kontras1  1  2.012   2.012   4.442   0.0493 *  
##   Suplemen: Kontras2  1 20.110  20.110  44.391 2.99e-06 ***
##   Suplemen: Kontras3  1  0.239   0.239   0.528   0.4766    
##   Suplemen: Kontras4  1  0.704   0.704   1.554   0.2286    
##   Suplemen: Kontras5  1  2.588   2.588   5.712   0.0280 *  
## Residuals            18  8.154   0.453                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
qf(0.05, 1, 18, lower.tail = FALSE)
## [1] 4.413873
#kontras polynomial orthogonal#
#_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)
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
## 7         30  18.6
## 8         30  20.2
## 9         30  18.2
## 10        40  17.6
## 11        40  19.3
## 12        40  17.1
## 13        50  18.0
## 14        50  16.4
## 15        50  16.6
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
qf(0.05, 1, 10, lower.tail = FALSE)
## [1] 4.964603
summary(lm(hasil~kerapatan,data2))
## 
## Call:
## lm(formula = hasil ~ kerapatan, data = data2)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
##  -0.90  -0.55  -0.40   0.45   1.30 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 16.40000    0.22331  73.441 5.35e-15 ***
## kerapatan1   1.20000    0.15790   7.600 1.84e-05 ***
## kerapatan2  -1.00000    0.13345  -7.493 2.08e-05 ***
## kerapatan3   0.10000    0.15790   0.633    0.541    
## kerapatan4   0.10000    0.05968   1.676    0.125    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.8649 on 10 degrees of freedom
## Multiple R-squared:  0.9213, Adjusted R-squared:  0.8899 
## F-statistic: 29.28 on 4 and 10 DF,  p-value: 1.69e-05
# Plot hasil regresi polinomial ortogonal
plot(data2$kerapatan, data2$hasil, main="Hasil Gandum vs Kerapatan Tanaman",
     xlab="Kerapatan Tanaman", ylab="Rata-rata Hasil", pch=19)
lines(sort(data2$kerapatan), predict(anova_2)[order(data2$kerapatan)], col="blue", lwd=2)