library(readxl)
Data_DE = read_xlsx(path = "D:/DataDE.xlsx",col_names = TRUE)
Data_DE
## # A tibble: 30 × 3
##    Tinggi_Terong Dosis   Perulangan
##            <dbl> <chr>   <chr>     
##  1          31.3 Dosis 1 A         
##  2          33.4 Dosis 1 B         
##  3          29.2 Dosis 1 C         
##  4          32.2 Dosis 1 D         
##  5          33.9 Dosis 1 E         
##  6          38.8 Dosis 2 A         
##  7          37.5 Dosis 2 B         
##  8          37.4 Dosis 2 C         
##  9          35.8 Dosis 2 D         
## 10          38.4 Dosis 2 E         
## # ℹ 20 more rows

keterangan : Data berikut adalah data yang diguakan untuk melihat tinggi terong berdasarkan pemberian dosis pupuk. maka digunakanlah 6 perlakuan Dosis 0 kg/ha, 50 kg/ha, 100 kg/ha, 150 kg/ha, 200 kg/ha, dan 250 kg/ha. serta 5 kali perulangan

##Hipotesis H0 : τ1 = τ2 = τ3 = τ4 = τ5 = τ6 = 0 (Pemberian dosis pupuk NPK tidak berpengaruh terhadap hasil pertumbuhan tanaman terong) H1 : τi ≠ 0 (Setidaknya ada satu pengaruh pemberian dosis pupuk NPK terhadap hasil pertumbuhan tanaman terong)

Menampilkan hasil summary aov,untuk uji serentak (Uji F)

library(stats)
DataDe_Ral = aov(Tinggi_Terong~Dosis, data = Data_DE)
summary(DataDe_Ral)
##             Df Sum Sq Mean Sq F value   Pr(>F)    
## Dosis        5  334.7   66.94   17.27 2.91e-07 ***
## Residuals   24   93.0    3.88                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Artinya : nilai pvalue 2,91e-07 kurang dari alfa (0,05) sehingga tolak Ho, menunjukkan bahwa paling tidak ada satu pemberian dosis pupuk NPK yang berpengaruh terhadap hasil pertumbuhan Tenaman Terong.

Menampilkan uji lanjut (Tukey)

TukeyHSD(DataDe_Ral)
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = Tinggi_Terong ~ Dosis, data = Data_DE)
## 
## $Dosis
##                  diff        lwr       upr     p adj
## Dosis 2-Dosis 1  5.58  1.7296664  9.430334 0.0019202
## Dosis 3-Dosis 1  7.60  3.7496664 11.450334 0.0000356
## Dosis 4-Dosis 1 10.42  6.5696664 14.270334 0.0000002
## Dosis 5-Dosis 1  8.02  4.1696664 11.870334 0.0000158
## Dosis 6-Dosis 1  8.80  4.9496664 12.650334 0.0000036
## Dosis 3-Dosis 2  2.02 -1.8303336  5.870334 0.5927276
## Dosis 4-Dosis 2  4.84  0.9896664  8.690334 0.0081299
## Dosis 5-Dosis 2  2.44 -1.4103336  6.290334 0.3930935
## Dosis 6-Dosis 2  3.22 -0.6303336  7.070334 0.1395903
## Dosis 4-Dosis 3  2.82 -1.0303336  6.670334 0.2468316
## Dosis 5-Dosis 3  0.42 -3.4303336  4.270334 0.9993430
## Dosis 6-Dosis 3  1.20 -2.6503336  5.050334 0.9249356
## Dosis 5-Dosis 4 -2.40 -6.2503336  1.450334 0.4108017
## Dosis 6-Dosis 4 -1.62 -5.4703336  2.230334 0.7816587
## Dosis 6-Dosis 5  0.78 -3.0703336  4.630334 0.9878863

uji lanjut yang digunakan yaitu tukey untuk mengetahui dosis mana yang memberikan pengaruh dilakukan sebanyak kombinasi yang terjadi setiap level dalam perlakuan. sehingga level yang tidak memberikan perbedaan terahdap pertumbuhan terong yaitu dosis 3-2, dosis 5-2, dosis 6-2, dosis 4-3, dosis 5-3, dosis 6-3, dosis 6-4 dan dosis 6-5.

Menampilkan uji lanjut (Dunnet)

library(DescTools)
## Warning: package 'DescTools' was built under R version 4.3.2
DunnettTest(Tinggi_Terong ~ Dosis, data = Data_DE, trt = "control", alpha = 0.05)
## 
##   Dunnett's test for comparing several treatments with a control :  
##     95% family-wise confidence level
## 
## $`Dosis 1`
##                  diff   lwr.ci    upr.ci    pval    
## Dosis 2-Dosis 1  5.58 2.222488  8.937512 0.00064 ***
## Dosis 3-Dosis 1  7.60 4.242488 10.957512 1.7e-05 ***
## Dosis 4-Dosis 1 10.42 7.062488 13.777512 7.2e-08 ***
## Dosis 5-Dosis 1  8.02 4.662488 11.377512 9.6e-06 ***
## Dosis 6-Dosis 1  8.80 5.442488 12.157512 2.9e-07 ***
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

uji dunnet sama dengan uji tukey, hanya saja uji ini hanya memberikan informasi level yang berpengaruh saja terdapat 6 level berpengaruh yaitu dosis 2-1, dosis 3-1, dosis 4-1, dosis 5-1, dan dosis 6-1

Menampilkan Uji Lanjut (Duncan)

library(agricolae)
## Warning: package 'agricolae' was built under R version 4.3.2
duncan.test(DataDe_Ral, "Dosis", alpha = 0.05, console = TRUE)
## 
## Study: DataDe_Ral ~ "Dosis"
## 
## Duncan's new multiple range test
## for Tinggi_Terong 
## 
## Mean Square Error:  3.876833 
## 
## Dosis,  means
## 
##         Tinggi_Terong       std r        se  Min  Max  Q25  Q50  Q75
## Dosis 1         32.00 1.8668155 5 0.8805491 29.2 33.9 31.3 32.2 33.4
## Dosis 2         37.58 1.1584472 5 0.8805491 35.8 38.8 37.4 37.5 38.4
## Dosis 3         39.60 0.8514693 5 0.8805491 38.6 40.9 39.2 39.5 39.8
## Dosis 4         42.42 3.9619440 5 0.8805491 40.0 49.4 40.1 40.9 41.7
## Dosis 5         40.02 1.2637247 5 0.8805491 38.7 41.9 39.2 39.7 40.6
## Dosis 6         40.80 0.6442049 5 0.8805491 39.8 41.5 40.6 41.0 41.1
## 
## Alpha: 0.05 ; DF Error: 24 
## 
## Critical Range
##        2        3        4        5        6 
## 2.570141 2.699420 2.782424 2.841051 2.884815 
## 
## Means with the same letter are not significantly different.
## 
##         Tinggi_Terong groups
## Dosis 4         42.42      a
## Dosis 6         40.80     ab
## Dosis 5         40.02    abc
## Dosis 3         39.60     bc
## Dosis 2         37.58      c
## Dosis 1         32.00      d

Menginputkan data secara r secara manual

library(stats)
Pupuk_NPK=c("A","A","A","A","A",
            "B","B","B","B","B",
            "C","C","C","C","C",
            "D","D","D","D","D",
            "E","E","E","E","E",
            "F","F","F","F","F");Pupuk_NPK
##  [1] "A" "A" "A" "A" "A" "B" "B" "B" "B" "B" "C" "C" "C" "C" "C" "D" "D" "D" "D"
## [20] "D" "E" "E" "E" "E" "E" "F" "F" "F" "F" "F"
Perlakuan = c(rep(1,5),rep(2,5),rep(3,5),rep(4,5),rep(5,5),rep(6,5));Perlakuan
##  [1] 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 6 6 6 6 6
Perulangan= c(rep(c(1,2,3,4,5),6));Perulangan
##  [1] 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5
Tinggi_Terong=c(31.3,33.4,29.2,32.2,33.9,
                38.8,37.5,37.4,35.8,38.4,
                40.9,39.2,39.5,38.6,39.8,
                40.9,41.7,49.4,40.1,40,
                39.7,40.6,39.2,38.7,41.9,
                40.6,41,41.5,41.1,39.8);Tinggi_Terong
##  [1] 31.3 33.4 29.2 32.2 33.9 38.8 37.5 37.4 35.8 38.4 40.9 39.2 39.5 38.6 39.8
## [16] 40.9 41.7 49.4 40.1 40.0 39.7 40.6 39.2 38.7 41.9 40.6 41.0 41.5 41.1 39.8
DataRAL=cbind(Pupuk_NPK,Perlakuan,Perulangan,Tinggi_Terong)
colnames(DataRAL)=c("Dosis","Perlakuan","Perulangan","Tinggi_Terong")
Data_RAL=data.frame(DataRAL);Data_RAL
##    Dosis Perlakuan Perulangan Tinggi_Terong
## 1      A         1          1          31.3
## 2      A         1          2          33.4
## 3      A         1          3          29.2
## 4      A         1          4          32.2
## 5      A         1          5          33.9
## 6      B         2          1          38.8
## 7      B         2          2          37.5
## 8      B         2          3          37.4
## 9      B         2          4          35.8
## 10     B         2          5          38.4
## 11     C         3          1          40.9
## 12     C         3          2          39.2
## 13     C         3          3          39.5
## 14     C         3          4          38.6
## 15     C         3          5          39.8
## 16     D         4          1          40.9
## 17     D         4          2          41.7
## 18     D         4          3          49.4
## 19     D         4          4          40.1
## 20     D         4          5            40
## 21     E         5          1          39.7
## 22     E         5          2          40.6
## 23     E         5          3          39.2
## 24     E         5          4          38.7
## 25     E         5          5          41.9
## 26     F         6          1          40.6
## 27     F         6          2            41
## 28     F         6          3          41.5
## 29     F         6          4          41.1
## 30     F         6          5          39.8

Membuat Plots

boxplot(Tinggi_Terong~Dosis, data = Data_DE,
        xlab = "Dosis", ylab = "Tingg Terong",
        frame = FALSE, col = c("#FFCF00","#00E0FF","#CC00FF","#FF003D","#07ED17","#1255EB"))

# plot untuk uji tukey

plot(TukeyHSD(DataDe_Ral))

# uji asumsi IIDN (Identik)

par(mfrow = c(1,2))
plot(DataDe_Ral,1)

uji Normalitas

library(nortest)
shapiro.test(DataDe_Ral$residuals)
## 
##  Shapiro-Wilk normality test
## 
## data:  DataDe_Ral$residuals
## W = 0.84861, p-value = 0.00058
qqnorm(DataDe_Ral$residuals)
qqline(DataDe_Ral$residuals)

# uji Independent

Observasion_Order = data.frame(c(seq(1,30, by = 1)))
names(Observasion_Order) = "Observasion_Order"
dt = (cbind(Data_DE,Observasion_Order))
plot(dt$Observasion_Order,DataDe_Ral$residuals)