R Markdown

This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see http://rmarkdown.rstudio.com.

When you click the Knit button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:

#DATA
bunga <- c(5.4, 4.9, 5.0, 5.4, 4.4, 5.8, 5.7, 5.5, 6.5, 6.3, 4.9, 5.2, 6.7, 5.5, 6.1, 6.3, 5.8, 4.9, 7.2, 5.7, 6.4)
panjang <- c(rep("I",7), rep("II",8), rep("III",6))
panjang <- factor(panjang, levels=c("I", "II", "III"))
levels(panjang)
## [1] "I"   "II"  "III"
matriks <- matrix(nrow = max(table(panjang)), ncol = 3)
for (i in 1:length(unique(panjang))) {
  matriks[1:length(bunga[panjang == unique(panjang)[i]]), i] <- bunga[panjang == unique(panjang)[i]]
}

print(matriks)
##      [,1] [,2] [,3]
## [1,]  5.4  5.5  6.3
## [2,]  4.9  6.5  5.8
## [3,]  5.0  6.3  4.9
## [4,]  5.4  4.9  7.2
## [5,]  4.4  5.2  5.7
## [6,]  5.8  6.7  6.4
## [7,]  5.7  5.5   NA
## [8,]   NA  6.1   NA
databunga <- data.frame(panjang, bunga)
str(databunga)
## 'data.frame':    21 obs. of  2 variables:
##  $ panjang: Factor w/ 3 levels "I","II","III": 1 1 1 1 1 1 1 2 2 2 ...
##  $ bunga  : num  5.4 4.9 5 5.4 4.4 5.8 5.7 5.5 6.5 6.3 ...
#Mencari rata-rata untuk masing-masing kategori
tapply(databunga$bunga, databunga$panjang, mean)
##        I       II      III 
## 5.228571 5.837500 6.050000
#Mencari variansi untuk masing-masing kategori
sd.panjang <- tapply(databunga$bunga, databunga$panjang, sd)
var.panjang <- sd.panjang^2
var.panjang
##         I        II       III 
## 0.2423810 0.4255357 0.6030000
#Plot rata-rata respon
library(ggpubr)
## Warning: package 'ggpubr' was built under R version 4.3.3
## Loading required package: ggplot2
## Warning: package 'ggplot2' was built under R version 4.3.3
ggline(databunga, x="panjang", y="bunga",
       add = c("mean_se", "jitter"),
       order = c("I", "II", "III"),
       xlab = "Sampel bunga", ylab = "Panjang bunga")

#kriteria keputusan yang bersesuaian pada taraf signifikansi =0.05
n <- nrow(databunga)
n
## [1] 21
k <- nlevels(databunga$panjang)
k
## [1] 3
qf (0.95, df<-k-1, df2<-n-k)
## [1] 3.554557
#ANOVA
options(digits=10)
fit <- aov(bunga~panjang, data=databunga)
summary(fit)
##             Df   Sum Sq   Mean Sq F value   Pr(>F)  
## panjang      2 2.441488 1.2207440 2.95023 0.077947 .
## Residuals   18 7.448036 0.4137798                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#Pengecekan asumsi-asumsi homogenitas variansi (Uji Barlett) manual
n <- nrow(databunga)
n
## [1] 21
k <- nlevels(databunga$panjang)
k
## [1] 3
si <- tapply(databunga$bunga, databunga$panjang, sd)
si
##            I           II          III 
## 0.4923220007 0.6523309852 0.7765307463
ni<- c(7,8,6)
sp <- sqrt(sum((ni-1)*si^2)/(n-k))
sp
## [1] 0.6432571507
T <- ((n-k)*log(sp^2)-sum((ni-1)*log(si^2)))/(1+(1/(3*(k-1)))
                                              *(sum(1/(ni-1))-(1/n-k)))
T
## [1] 0.7165051456
df <- k-1
df
## [1] 2
p.value <- 1-pchisq(T,df)
p.value
## [1] 0.6988965305
khi_kuadrat_tabel <- qchisq(0.95, df=2)
khi_kuadrat_tabel
## [1] 5.991464547
##Pengecekan asumsi-asumsi homogenitas variansi (Uji Barlett) program R
bartlett.test(bunga~panjang, data=databunga)
## 
##  Bartlett test of homogeneity of variances
## 
## data:  bunga by panjang
## Bartlett's K-squared = 1.0504395, df = 2, p-value = 0.5914254
#Uji normalitas dengan Uji Shapiro-Wilk dengan manual
grup1 <- subset(databunga$bunga, databunga$panjang == "I")
grup1
## [1] 5.4 4.9 5.0 5.4 4.4 5.8 5.7
grup1.order <- sort(grup1,decreasing = FALSE)
grup1.order
## [1] 4.4 4.9 5.0 5.4 5.4 5.7 5.8
n <- length(grup1)
n
## [1] 7
m <- (n-1)/2
m
## [1] 3
#Uji normalitas dengan Uji Shapiro-Wilk dengan program R
grup1 <- subset(databunga$bunga, databunga$panjang == "I")
shapiro.test(grup1)
## 
##  Shapiro-Wilk normality test
## 
## data:  grup1
## W = 0.94324527, p-value = 0.6681021
grup2 <- subset(databunga$bunga, databunga$panjang == "II")
shapiro.test(grup2)
## 
##  Shapiro-Wilk normality test
## 
## data:  grup2
## W = 0.94107226, p-value = 0.6216606
grup3 <- subset(databunga$bunga, databunga$panjang == "III")
shapiro.test(grup3)
## 
##  Shapiro-Wilk normality test
## 
## data:  grup3
## W = 0.98060981, p-value = 0.9545485