library(readxl)
data_iklim = read_excel("D:/analitika data/data_iklim_kabtegal.xlsx")
View(data_iklim)

suhu_udara = data_iklim$suhu.udara
kecepatang_angin = data_iklim$kecepatan.angin
tekanan_udara = data_iklim$tekanan.udara
curah_hujan = data_iklim$curah.hujan
kelembaban_udara = data_iklim$kelembaban.udara
hari_penelitian = data_iklim$hari.penelitian
model_reg_curah_hujan <- lm(curah_hujan ~ suhu_udara + kecepatang_angin + tekanan_udara + kelembaban_udara , data = data_iklim)
par(mfrow = c(2,2))
plot(model_reg_curah_hujan)
library(car)
## Loading required package: carData
vif(model_reg_curah_hujan)
##       suhu_udara kecepatang_angin    tekanan_udara kelembaban_udara 
##         1.176385         1.012437         1.713343         1.514745
par(mfrow = c(2,2))
plot(model_reg_curah_hujan)
library(lmtest)
## Loading required package: zoo
## 
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric

dwtest(model_reg_curah_hujan)
## 
##  Durbin-Watson test
## 
## data:  model_reg_curah_hujan
## DW = 1.0556, p-value = 0.0006618
## alternative hypothesis: true autocorrelation is greater than 0
library(conf)
crPlots(model_reg_curah_hujan)

summary(model_reg_curah_hujan)
## 
## Call:
## lm(formula = curah_hujan ~ suhu_udara + kecepatang_angin + tekanan_udara + 
##     kelembaban_udara, data = data_iklim)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -221.34  -64.42  -12.25   59.18  239.97 
## 
## Coefficients:
##                    Estimate Std. Error t value Pr(>|t|)    
## (Intercept)      -21795.566  18984.924  -1.148    0.260    
## suhu_udara          -19.112     23.473  -0.814    0.422    
## kecepatang_angin     16.047     19.856   0.808    0.425    
## tekanan_udara        19.791     18.349   1.079    0.289    
## kelembaban_udara     29.052      3.893   7.463 2.08e-08 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 102.3 on 31 degrees of freedom
## Multiple R-squared:  0.7017, Adjusted R-squared:  0.6632 
## F-statistic: 18.23 on 4 and 31 DF,  p-value: 8.532e-08
predict(model_reg_curah_hujan);
##          1          2          3          4          5          6          7 
## 417.493179 396.658284 293.899301 226.230737 191.536523 273.065898 114.833337 
##          8          9         10         11         12         13         14 
##  24.294416  36.846009  66.172683 179.326410 263.236504 215.592208 511.642773 
##         15         16         17         18         19         20         21 
## 270.485309 217.839061 121.481014 121.894335  31.667379  -8.315127 -51.081237 
##         22         23         24         25         26         27         28 
## -86.053655  49.927671  98.269663 374.393709 326.022298 306.593660 225.891166 
##         29         30         31         32         33         34         35 
## 103.778867 106.235149  78.151448  13.422780  20.179932 -77.781162  -9.625999 
##         36 
## 187.380478
prediksi_data = data.frame(suhu_udara,kecepatang_angin,tekanan_udara,kelembaban_udara,curah_hujan,prediksi_curah_hujan=predict(model_reg_curah_hujan));
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following object is masked from 'package:car':
## 
##     recode
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
prediksi_data = prediksi_data%>% mutate(selisih=abs(curah_hujan-predict(model_reg_curah_hujan)));head(prediksi_data)
##   suhu_udara kecepatang_angin tekanan_udara kelembaban_udara curah_hujan
## 1       28.3                4       1009.23             93.5     403.152
## 2       27.8                3       1010.12             92.4     437.673
## 3       27.3                2       1010.10             89.1     165.945
## 4       29.3                4       1010.22             86.9     119.991
## 5       28.5                3       1010.12             85.8      95.571
## 6       28.3                5       1010.81             86.9      51.726
##   prediksi_curah_hujan   selisih
## 1             417.4932  14.34118
## 2             396.6583  41.01472
## 3             293.8993 127.95430
## 4             226.2307 106.23974
## 5             191.5365  95.96552
## 6             273.0659 221.33990
library(DT)
data_iklim <- readxl::read_excel("D:/analitika data/data_iklim_kabtegal.xlsx")
datatable(data_iklim, options = list(pageLength = 10))
library(plotly)
## Loading required package: ggplot2
## 
## Attaching package: 'plotly'
## The following object is masked from 'package:ggplot2':
## 
##     last_plot
## The following object is masked from 'package:stats':
## 
##     filter
## The following object is masked from 'package:graphics':
## 
##     layout
plot_ly(data_iklim, x = ~hari_penelitian, y = ~curah_hujan, type = "scatter", mode = "lines+markers") %>%
  layout(title = "Curah Hujan di Kabupaten Tegal")