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:
library(readxl)
data <- read_excel("data.xlsx")
head(data)
## # A tibble: 6 × 8
## Responden Jumlah_Produksi Luas_Lahan Jumlah_Pohon Pupuk_Kandang Pupuk_Phonska
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 1 200 900 20 50 10
## 2 2 500 500 50 250 25
## 3 3 500 500 50 250 25
## 4 4 900 900 60 450 45
## 5 5 900 900 60 450 45
## 6 6 300 510 30 150 15
## # … with 2 more variables: Pestisida <dbl>, Tenaga_Kerja <dbl>
Y <- data$Jumlah_Produksi
head(Y)
## [1] 200 500 500 900 900 300
X0 <- rep(1,60)
X1 <- data$Luas_Lahan
X2 <- data$Jumlah_Pohon
X3 <- data$Pupuk_Kandang
X4 <- data$Pupuk_Phonska
X5 <- data$Pestisida
X6 <- data$Tenaga_Kerja
X <- cbind(X0, X1, X2, X3, X4, X5, X6)
head(X)
## X0 X1 X2 X3 X4 X5 X6
## [1,] 1 900 20 50 10 600 27
## [2,] 1 500 50 250 25 1600 21
## [3,] 1 500 50 250 25 1600 33
## [4,] 1 900 60 450 45 3600 40
## [5,] 1 900 60 450 45 3600 50
## [6,] 1 510 30 150 15 1200 30
##MEMBENTUK MODEL REGRESI TERLEBIH DAHULU
A <- t(X)%*%X
IA <- solve(A)
b <- IA%*%(t(X)%*%Y)
b
## [,1]
## X0 8.572028519
## X1 -0.002541471
## X2 1.575789699
## X3 0.610594706
## X4 4.542999170
## X5 0.080771328
## X6 0.328857760
## MENGHITUNG ANOVA
JKReg <- t(b)%*%t(X)%*%Y-(t(Y)%*%rep(1,nrow(data)))^2/60
JKReg
## [,1]
## [1,] 2714617
JKRes <- t(Y)%*%Y-t(b)%*%t(X)%*%Y
JKRes
## [,1]
## [1,] 21841.34
JKTot <- t(Y)%*%Y-(t(Y)%*%rep(1,nrow(data)))^2/60
JKTot
## [,1]
## [1,] 2736458
JK <- c(JKReg[1,1], JKRes[1,1], JKTot[1,1])
JK
## [1] 2714617.00 21841.34 2736458.33
dbreg <- nrow(b)-1
dbreg
## [1] 6
dbres <- nrow(data)-nrow(b)
dbres
## [1] 53
dbtot <- nrow(data)-1
dbtot
## [1] 59
db <- c(dbreg,dbres,dbtot)
db
## [1] 6 53 59
KTReg <- JKReg/dbreg
KTReg
## [,1]
## [1,] 452436.2
KTRes <- JKRes/dbres
KTRes
## [,1]
## [1,] 412.1007
KT <- c(KTReg[1,1], KTRes[1,1])
KT
## [1] 452436.1662 412.1007
Fvalue <- KTReg[1,1]/KTRes[1,1]
Fvalue
## [1] 1097.878
Fpvalue <- pf(Fvalue, dbreg, dbres, lower.tail = FALSE)
Fpvalue
## [1] 9.813766e-54
rowreg <- c(dbreg, JKReg, KTReg, Fvalue, Fpvalue)
rowres <- c(dbres, JKRes, KTRes, "-", "-")
rowtot <- c(dbtot, JKTot, "-", "-", "-")
TabelAnova <- data.frame(rbind(rowreg,rowres,rowtot))
colnames (TabelAnova) = c("db", "SS", "MS", "F", "p-value")
rownames (TabelAnova) = c("Regresi", "Error", "Total")
TabelAnova
## db SS MS F
## Regresi 6 2714616.9973172 452436.166219534 1097.87774850059
## Error 53 21841.3360161316 412.100679549652 -
## Total 59 2736458.33333333 - -
## p-value
## Regresi 9.81376571858502e-54
## Error -
## Total -
TabelAnova <- aov(Y~X1+X2+X3+X4+X5+X6, data=data)
summary(TabelAnova)
## Df Sum Sq Mean Sq F value Pr(>F)
## X1 1 214562 214562 520.65 < 2e-16 ***
## X2 1 2143350 2143350 5201.04 < 2e-16 ***
## X3 1 311227 311227 755.22 < 2e-16 ***
## X4 1 20106 20106 48.79 4.77e-09 ***
## X5 1 25154 25154 61.04 2.23e-10 ***
## X6 1 218 218 0.53 0.47
## Residuals 53 21841 412
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1