#Input Data
library(readxl)
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
df10 <- read_excel("~/KULIAH/DRAFT/DATA RAW/Data Gabungan.xlsx",
sheet = "2010")
df11 <- read_excel("~/KULIAH/DRAFT/DATA RAW/Data Gabungan.xlsx",
sheet = "2011")
df12 <- read_excel("~/KULIAH/DRAFT/DATA RAW/Data Gabungan.xlsx",
sheet = "2012")
df13 <- read_excel("~/KULIAH/DRAFT/DATA RAW/Data Gabungan.xlsx",
sheet = "2013")
df14 <- read_excel("~/KULIAH/DRAFT/DATA RAW/Data Gabungan.xlsx",
sheet = "2014")
df15 <- read_excel("~/KULIAH/DRAFT/DATA RAW/Data Gabungan.xlsx",
sheet = "2015")
#df16 <- read_excel("~/KULIAH/DRAFT/DATA RAW/Data Gabungan.xlsx",
# sheet = "2016")
df17 <- read_excel("~/KULIAH/DRAFT/DATA RAW/Data Gabungan.xlsx",
sheet = "2017")
df18 <- read_excel("~/KULIAH/DRAFT/DATA RAW/Data Gabungan.xlsx",
sheet = "2018")
df19 <- read_excel("~/KULIAH/DRAFT/DATA RAW/Data Gabungan.xlsx",
sheet = "2019")
#df20 <- read_excel("~/KULIAH/DRAFT/DATA RAW/Data Gabungan.xlsx",
# sheet = "2020")
df21 <- read_excel("~/KULIAH/DRAFT/DATA RAW/Data Gabungan.xlsx",
sheet = "2021")
## New names:
## • `DISIC2` -> `DISIC2...4`
## • `RENUM2` -> `RENUM2...65`
## • `DISIC2` -> `DISIC2...83`
## • `RENUM2` -> `RENUM2...86`
df22 <- read_excel("~/KULIAH/DRAFT/DATA RAW/Data Gabungan.xlsx",
sheet = "2022")
df1_10 <- df10 %>% select(DISIC510,VTLVCU10,LTLNOU10,V1101,V1115,RIMVCU10,RDNVCU10)
df1_11 <- df11 %>% select(DISIC511,VTLVCU11,LTLNOU11,V1101,V1115,RIMVCU11,RDNVCU11)
df1_12 <- df12 %>% select(DISIC512,VTLVCU12,LTLNOU12,V1101,V1115,RIMVCU12,RDNVCU12)
df1_13 <- df13 %>% select(DISIC513,VTLVCU13,LTLNOU13,V1101,V1115,RIMVCU13,RDNVCU13)
df1_14 <- df14 %>% select(DISIC514,VTLVCU14,LTLNOU14,V1101,V1115,RIMVCU14,RDNVCU14)
df1_15 <- df15 %>% select(DISIC515,VTLVCU15,LTLNOU15,V1101,V1115,RIMVCU15,RDNVCU15)
df1_17 <- df17 %>% select(DISIC517,VTLVCU17,LTLNOU17,V1101,V1115,RIMVCU17,RDNVCU17)
df1_18 <- df18 %>% select(DISIC518,VTLVCU18,LTLNOU18,V1101,V1115,RIMVCU18,RDNVCU18)
df1_19 <- df19 %>% select(DISIC519,VTLVCU19,LTLNOU19,V1101,V1115,RIMVCU19,RDNVCU19)
df1_21 <- df21 %>% select(DISIC2...4,VTLVCU21,LTLNOU21,V1101,V1115,RIMVCU21, RDNVCU21)
df1_22 <- df22 %>% select(DISIC222,VTLVCU22,LTLNOU22,V1101,V1125,RIMVCU22, RDNVCU22)
FDI <- read_excel("~/KULIAH/DRAFT/DATA RAW/Tahunan(1).xlsx")
FDI <- FDI %>%
rename(
FDI2010 = `2010`,
FDI2011 = `2011`,
FDI2012 = `2012`,
FDI2013 = `2013`,
FDI2014 = `2014`,
FDI2015 = `2015`,
FDI2016 = `2016`,
FDI2017 = `2017`,
FDI2018 = `2018`,
FDI2019 = `2019`,
FDI2020 = `2020`,
FDI2021 = `2021`,
FDI2022 = `2022`
)
FDI <- FDI %>% select (KBLI,FDI2010, FDI2011, FDI2012, FDI2013, FDI2014, FDI2015, FDI2016, FDI2017,FDI2018, FDI2019, FDI2020, FDI2021, FDI2022)
FDI <- FDI[10:33,]
head(FDI)
## # A tibble: 6 × 14
## KBLI FDI2010 FDI2011 FDI2012 FDI2013 FDI2014 FDI2015 FDI2016 FDI2017 FDI2018
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 10 1.84e7 1.55e7 2.00e7 2.73e7 4.27e7 3.27e7 5.17e7 5.17e7 5.17e7
## 2 11 1.36e6 1.52e6 2.02e6 2.88e6 3.68e6 6.69e6 6.92e6 7.53e6 3.69e6
## 3 12 4.74e6 8.62e5 5.23e6 4.91e6 6.85e6 4.20e6 2.38e6 5.62e6 1.26e6
## 4 13 1.37e6 4.00e6 7.43e6 7.91e6 4.30e6 6.27e6 4.99e6 1.06e7 5.80e6
## 5 14 4.25e5 1.48e6 1.28e6 1.62e6 1.66e6 1.88e6 2.63e6 2.23e6 1.89e6
## 6 15 1.19e6 2.31e6 1.51e6 9.95e5 2.35e6 2.03e6 2.05e6 5.12e6 3.55e6
## # ℹ 4 more variables: FDI2019 <dbl>, FDI2020 <dbl>, FDI2021 <dbl>,
## # FDI2022 <dbl>
library(dplyr)
library(tidyr)
FDI_long <- FDI %>%
pivot_longer(
cols = starts_with("FDI"),
names_to = "tahun",
values_to = "FDI"
) %>%
mutate(
tahun = gsub("FDI", "", tahun),
tahun = as.numeric(tahun),
KBLI = as.character(KBLI)
)
head(FDI_long)
## # A tibble: 6 × 3
## KBLI tahun FDI
## <chr> <dbl> <dbl>
## 1 10 2010 18447133.
## 2 10 2011 15499749.
## 3 10 2012 19956409.
## 4 10 2013 27338303.
## 5 10 2014 42680887.
## 6 10 2015 32656565.
# 2010
df10_agg <- df1_10 %>%
group_by(DISIC510) %>%
summarise(
OUTPUT10_sum = sum(VTLVCU10, na.rm = TRUE)/1000,
TK10_sum = sum(LTLNOU10, na.rm = TRUE),
MODAL10_sum = (sum(V1115, na.rm = TRUE) - sum(V1101, na.rm =TRUE))/1000,
MATER10_sum = (sum(RIMVCU10, na.rm =TRUE) + sum(RDNVCU10, na.rm =TRUE))/1000
)
# 2011
df11_agg <- df1_11 %>%
group_by(DISIC511) %>%
summarise(
OUTPUT11_sum = sum(VTLVCU11, na.rm = TRUE)/1000,
TK11_sum = sum(LTLNOU11, na.rm = TRUE),
MODAL11_sum = (sum(V1115, na.rm = TRUE) - sum(V1101, na.rm =TRUE))/1000,
MATER11_sum = (sum(RIMVCU11, na.rm =TRUE) + sum(RDNVCU11, na.rm =TRUE))/1000
)
# 2012
df12_agg <- df1_12 %>%
group_by(DISIC512) %>%
summarise(
OUTPUT12_sum = sum(VTLVCU12, na.rm = TRUE)/1000,
TK12_sum = sum(LTLNOU12, na.rm = TRUE),
MODAL12_sum = (sum(V1115, na.rm = TRUE) - sum(V1101, na.rm =TRUE))/1000,
MATER12_sum = (sum(RIMVCU12, na.rm =TRUE) + sum(RDNVCU12, na.rm =TRUE))/1000
)
# 2013
df13_agg <- df1_13 %>%
group_by(DISIC513) %>%
summarise(
OUTPUT13_sum = sum(VTLVCU13, na.rm = TRUE)/1000,
TK13_sum = sum(LTLNOU13, na.rm = TRUE),
MODAL13_sum = (sum(V1115, na.rm = TRUE) - sum(V1101, na.rm =TRUE))/1000,
MATER13_sum = (sum(RIMVCU13, na.rm =TRUE) + sum(RDNVCU13, na.rm =TRUE))/1000
)
# 2014
df14_agg <- df1_14 %>%
group_by(DISIC514) %>%
summarise(
OUTPUT14_sum = sum(VTLVCU14, na.rm = TRUE)/1000,
TK14_sum = sum(LTLNOU14, na.rm = TRUE),
MODAL14_sum = (sum(V1115, na.rm = TRUE) - sum(V1101, na.rm =TRUE))/1000,
MATER14_sum = (sum(RIMVCU14, na.rm =TRUE) + sum(RDNVCU14, na.rm =TRUE))/1000
)
# 2015
df15_agg <- df1_15 %>%
group_by(DISIC515) %>%
summarise(
OUTPUT15_sum = sum(VTLVCU15, na.rm = TRUE)/1000,
TK15_sum = sum(LTLNOU15, na.rm = TRUE),
MODAL15_sum = (sum(V1115, na.rm = TRUE) - sum(V1101, na.rm =TRUE))/1000,
MATER15_sum = (sum(RIMVCU15, na.rm =TRUE) + sum(RDNVCU15, na.rm =TRUE))/1000
)
# 2017
df17_agg <- df1_17 %>%
group_by(DISIC517) %>%
summarise(
OUTPUT17_sum = sum(VTLVCU17, na.rm = TRUE)/1000,
TK17_sum = sum(LTLNOU17, na.rm = TRUE),
MODAL17_sum = (sum(V1115, na.rm = TRUE) - sum(V1101, na.rm =TRUE))/1000,
MATER17_sum = (sum(RIMVCU17, na.rm =TRUE) + sum(RDNVCU17, na.rm =TRUE))/1000
)
# 2018
df18_agg <- df1_18 %>%
group_by(DISIC518) %>%
summarise(
OUTPUT18_sum = sum(VTLVCU18, na.rm = TRUE)/1000,
TK18_sum = sum(LTLNOU18, na.rm = TRUE),
MODAL18_sum = (sum(V1115, na.rm = TRUE) - sum(V1101, na.rm =TRUE))/1000,
MATER18_sum = (sum(RIMVCU18, na.rm =TRUE) + sum(RDNVCU18, na.rm =TRUE))/1000
)
# 2019
df19_agg <- df1_19 %>%
group_by(DISIC519) %>%
summarise(
OUTPUT19_sum = sum(VTLVCU19, na.rm = TRUE)/1000,
TK19_sum = sum(LTLNOU19, na.rm = TRUE),
MODAL19_sum = (sum(V1115, na.rm = TRUE) - sum(V1101, na.rm =TRUE))/1000,
MATER19_sum = (sum(RIMVCU19, na.rm =TRUE) + sum(RDNVCU19, na.rm =TRUE))/1000
)
# 2021
df21_agg <- df1_21 %>%
group_by(DISIC2...4) %>%
summarise(
OUTPUT21_sum = sum(VTLVCU21, na.rm = TRUE)/1000,
TK21_sum = sum(LTLNOU21, na.rm = TRUE),
MODAL21_sum = (sum(V1115, na.rm = TRUE) - sum(V1101, na.rm =TRUE))/1000,
MATER21_sum = (sum(RIMVCU21, na.rm =TRUE) + sum(RDNVCU21, na.rm =TRUE))/1000
)
# 2022
df22_agg <- df1_22 %>%
group_by(DISIC222) %>%
summarise(
OUTPUT22_sum = sum(VTLVCU22, na.rm = TRUE)/1000,
TK22_sum = sum(LTLNOU22, na.rm = TRUE),
MODAL22_sum = (sum(V1125, na.rm = TRUE) - sum(V1101, na.rm =TRUE))/1000,
MATER22_sum = (sum(RIMVCU22, na.rm =TRUE) + sum(RDNVCU22, na.rm =TRUE))/1000,
)
library(dplyr)
df10_agg <- df10_agg %>%
rename(
KBLI = DISIC510,
Y = OUTPUT10_sum,
L = TK10_sum,
K = MODAL10_sum,
M = MATER10_sum
) %>%
mutate(tahun = 2010)
df11_agg <- df11_agg %>%
rename(
KBLI = DISIC511,
Y = OUTPUT11_sum,
L = TK11_sum,
K = MODAL11_sum,
M = MATER11_sum
) %>%
mutate(tahun = 2011)
df12_agg <- df12_agg %>%
rename(
KBLI = DISIC512,
Y = OUTPUT12_sum,
L = TK12_sum,
K = MODAL12_sum,
M = MATER12_sum
) %>%
mutate(tahun = 2012)
df13_agg <- df13_agg %>%
rename(
KBLI = DISIC513,
Y = OUTPUT13_sum,
L = TK13_sum,
K = MODAL13_sum,
M = MATER13_sum
) %>%
mutate(tahun = 2013)
df14_agg <- df14_agg %>%
rename(
KBLI = DISIC514,
Y = OUTPUT14_sum,
L = TK14_sum,
K = MODAL14_sum,
M = MATER14_sum
) %>%
mutate(tahun = 2014)
df15_agg <- df15_agg %>%
rename(
KBLI = DISIC515,
Y = OUTPUT15_sum,
L = TK15_sum,
K = MODAL15_sum,
M = MATER15_sum
) %>%
mutate(tahun = 2015)
df17_agg <- df17_agg %>%
rename(
KBLI = DISIC517,
Y = OUTPUT17_sum,
L = TK17_sum,
K = MODAL17_sum,
M = MATER17_sum
) %>%
mutate(tahun = 2017)
df18_agg <- df18_agg %>%
rename(
KBLI = DISIC518,
Y = OUTPUT18_sum,
L = TK18_sum,
K = MODAL18_sum,
M = MATER18_sum
) %>%
mutate(tahun = 2018)
df19_agg <- df19_agg %>%
rename(
KBLI = DISIC519,
Y = OUTPUT19_sum,
L = TK19_sum,
K = MODAL19_sum,
M = MATER19_sum
) %>%
mutate(tahun = 2019)
df21_agg <- df21_agg %>%
rename(
KBLI = DISIC2...4,
Y = OUTPUT21_sum,
L = TK21_sum,
K = MODAL21_sum,
M = MATER21_sum
) %>%
mutate(tahun = 2021)
df22_agg <- df22_agg %>%
rename(
KBLI = DISIC222,
Y = OUTPUT22_sum,
L = TK22_sum,
K = MODAL22_sum,
M = MATER22_sum
) %>%
mutate(tahun = 2022)
FDI <- FDI %>%
rename(KBLI = KBLI) %>% # eksplisit saja
mutate(KBLI = as.character(KBLI))
df_all <- bind_rows(
df10_agg,
df11_agg,
df12_agg,
df13_agg,
df14_agg,
df15_agg,
df17_agg,
df18_agg,
df19_agg,
df21_agg,
df22_agg)
df_all <- left_join(df_all, FDI_long, by = c("tahun","KBLI"))
library(tidyr)
df_all <- df_all %>%
group_by(KBLI) %>%
complete(tahun = 2010:2022) %>%
ungroup()
# Imputasi 2016 dan 2020 dari tahun setelahnya
df_all <- df_all %>%
arrange(KBLI, tahun) %>%
group_by(KBLI) %>%
mutate(
across(
where(is.numeric) & !matches("tahun"),
~ifelse(
tahun %in% c(2016, 2020) & is.na(.),
dplyr::lead(.),
.
)
)
) %>%
ungroup()
View(df_all)
library(dplyr)
library(zoo)
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
df_all <- df_all %>%
arrange(KBLI, tahun) %>%
group_by(KBLI) %>%
mutate(
FDI = ifelse(KBLI == 33, na.approx(FDI, tahun, na.rm = FALSE), FDI),
FDI = ifelse(KBLI == 33, na.locf(FDI, na.rm = FALSE), FDI),
FDI = ifelse(KBLI == 33, na.locf(FDI, fromLast = TRUE, na.rm = FALSE), FDI)
) %>%
ungroup()
#library(writexl)
#write_xlsx(df_all, path = "~/KULIAH/DRAFT/DATA RAW/DATA FIX/df_io.xlsx")
dpm1<-df_all%>%
mutate(
lnY = log(Y),
lnK = log(K),
lnL = log(L),
lnM = log(M),
lnFDI = log(FDI)
)
View(dpm1)
#library(writexl)
#write_xlsx(dpm1, path = "~/KULIAH/DRAFT/DATA RAW/DATA FIX/df_m1.xlsx")
library("plm")
##
## Attaching package: 'plm'
## The following objects are masked from 'package:dplyr':
##
## between, lag, lead
cem<-plm(lnY ~ lnK+lnL+lnM+lnFDI, data = dpm1, index = c("KBLI", "tahun"),
model = "pooling")
fem<-plm(lnY ~ lnK+lnL+lnM+lnFDI, data = dpm1, index = c("KBLI", "tahun"),
model = "within",effect = "individual")
rem<-plm(lnY ~ lnK+lnL+lnM+lnFDI, data = dpm1, index = c("KBLI", "tahun"),
model = "random",effect = "individual")
cem
##
## Model Formula: lnY ~ lnK + lnL + lnM + lnFDI
##
## Coefficients:
## (Intercept) lnK lnL lnM lnFDI
## 3.290301 0.048516 0.153977 0.557757 0.130647
fem
##
## Model Formula: lnY ~ lnK + lnL + lnM + lnFDI
##
## Coefficients:
## lnK lnL lnM lnFDI
## -0.00022783 0.67195501 0.54990067 0.17744847
rem
##
## Model Formula: lnY ~ lnK + lnL + lnM + lnFDI
##
## Coefficients:
## (Intercept) lnK lnL lnM lnFDI
## 0.019350 0.022668 0.372576 0.586718 0.171361
#Uji Chow
pooltest(cem,fem) #hasil tolak H0 FEM lebih baik
##
## F statistic
##
## data: lnY ~ lnK + lnL + lnM + lnFDI
## F = 15.451, df1 = 23, df2 = 284, p-value < 2.2e-16
## alternative hypothesis: unstability
#Uji Hausman
phtest(fem,rem) #Tolak H0 FEM lebih baik
##
## Hausman Test
##
## data: lnY ~ lnK + lnL + lnM + lnFDI
## chisq = 42.62, df = 4, p-value = 1.241e-08
## alternative hypothesis: one model is inconsistent
###Struktur Varians Kovarians
#Uji LM
library(lmtest)
bptest(fem) #Tolak H0, heteroskedastis
##
## studentized Breusch-Pagan test
##
## data: fem
## BP = 20.523, df = 4, p-value = 0.0003937
#Uji LambdaLM
pcdtest(fem, test = "lm") #Tolak H0, ada cross section dependence, metode SUR
##
## Breusch-Pagan LM test for cross-sectional dependence in panels
##
## data: lnY ~ lnK + lnL + lnM + lnFDI
## chisq = 521.67, df = 276, p-value < 2.2e-16
## alternative hypothesis: cross-sectional dependence
m1<-pggls(lnY ~ lnK+lnL+lnM+lnFDI, data = dpm1, index = c("KBLI", "tahun"), model = "within",effect = "individual")
summary(m1)
## Oneway (individual) effect Within FGLS model
##
## Call:
## pggls(formula = lnY ~ lnK + lnL + lnM + lnFDI, data = dpm1, effect = "individual",
## model = "within", index = c("KBLI", "tahun"))
##
## Balanced Panel: n = 24, T = 13, N = 312
##
## Residuals:
## Min. 1st Qu. Median 3rd Qu. Max.
## -1.172707197 -0.189271492 0.006782934 0.166748180 0.787111755
##
## Coefficients:
## Estimate Std. Error z-value Pr(>|z|)
## lnK 0.022101 0.010544 2.0960 0.03608 *
## lnL 0.741407 0.076182 9.7320 < 2.2e-16 ***
## lnM 0.426647 0.034396 12.4039 < 2.2e-16 ***
## lnFDI 0.117863 0.020949 5.6263 1.841e-08 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Total Sum of Squares: 403.05
## Residual Sum of Squares: 26.699
## Multiple R-squared: 0.93376
#konstanta global
konst <- fixef(m1)
k<- mean(konst)
print(k)
## [1] -0.7342388
konst
## 10 11 12 13 14 15 16 17
## -1.58792 -0.39599 -0.66989 -1.61301 -1.37460 -1.28088 -1.39062 -0.76296
## 18 19 20 21 22 23 24 25
## -0.37279 0.19710 -0.56630 -0.13708 -1.48703 -0.62005 -0.50723 -1.02384
## 26 27 28 29 30 31 32 33
## -0.91143 -0.18089 -0.12554 -0.14119 -0.29183 -1.18616 -1.30084 0.10924
ef<-konst-k
ef
## 10 11 12 13 14 15 16 17
## -0.853679 0.338254 0.064345 -0.878771 -0.640358 -0.546639 -0.656382 -0.028721
## 18 19 20 21 22 23 24 25
## 0.361450 0.931339 0.167935 0.597159 -0.752789 0.114189 0.227005 -0.289605
## 26 27 28 29 30 31 32 33
## -0.177194 0.553346 0.608699 0.593050 0.442412 -0.451918 -0.566604 0.843477
# UJI t DAN UJI F MODEL PGLS/FGLS
# Koefisien
beta <- coef(m1)
V <- m1$vcov
# Standard error
se <- sqrt(diag(V))
# Jumlah observasi
N <- nrow(dpm1)
# Jumlah individu
n <- length(unique(dpm1$KBLI))
# Jumlah variabel independen
k <- length(beta)
# Derajat bebas
df <- N - n - k
df
## [1] 284
# Taraf signifikansi
alpha <- 0.05
# UJI PARSIAL (t)
t_hitung <- beta / se
t_tabel <- qt(
1 - alpha/2,
df
)
p_value_t <- 2 * pt(
-abs(t_hitung),
df
)
hasil_t <- data.frame(
Variabel = names(beta),
Koefisien = beta,
Std_Error = se,
t_hitung = t_hitung,
t_tabel = t_tabel,
p_value = p_value_t
)
print(hasil_t)
## Variabel Koefisien Std_Error t_hitung t_tabel p_value
## lnK lnK 0.02210067 0.01054398 2.096047 1.968352 3.696293e-02
## lnL lnL 0.74140659 0.07618216 9.732024 1.968352 1.669858e-19
## lnM lnM 0.42664692 0.03439622 12.403889 1.968352 1.589789e-28
## lnFDI lnFDI 0.11786314 0.02094861 5.626299 1.968352 4.411050e-08
# UJI SIMULTAN (F)
V <- m1$vcov
F_hitung <- as.numeric(
t(beta) %*% solve(V) %*% beta / k
)
F_tabel <- qf(
1 - alpha,
df1 = k,
df2 = df
)
p_value_F <- pf(
F_hitung,
df1 = k,
df2 = df,
lower.tail = FALSE
)
hasil_F <- data.frame(
F_hitung = F_hitung,
F_tabel = F_tabel,
df1 = k,
df2 = df,
p_value = p_value_F
)
print(hasil_F)
## F_hitung F_tabel df1 df2 p_value
## 1 343.0543 2.403431 4 284 2.142028e-107
#adj rsquare
n <- length(residuals(m1)) # jumlah observasi
k <- length(coef(m1)) # jumlah variabel independen (tanpa intersep)
ssr <- sum(residuals(m1)^2)
ssr
## [1] 26.69949
y_actual <- model.frame(m1)[, 1]
sst <- sum((y_actual - mean(y_actual))^2)
sst
## [1] 403.0481
r2 <- 1 - ssr/sst
adj_r2 <- 1 - (1 - r2) * (n - 1) / (n - k - 1)
adj_r2
## [1] 0.9328929
library(car)
## Loading required package: carData
##
## Attaching package: 'car'
## The following object is masked from 'package:dplyr':
##
## recode
library(tseries)
## Registered S3 method overwritten by 'quantmod':
## method from
## as.zoo.data.frame zoo
library(plm)
re <- residuals(cem)
res <- residuals(m1)
#Multikol
m1_lm <- lm(lnY ~ lnK + lnL + lnM +lnFDI, data = dpm1)
vif(m1_lm) #<10 tidak ada multikol
## lnK lnL lnM lnFDI
## 2.015790 2.423632 3.995135 2.269043
#Normalitas
jarque.bera.test(res) #gagal tolak h0, resid distribusi normal
##
## Jarque Bera Test
##
## data: res
## X-squared = 3.6919, df = 2, p-value = 0.1579
jarque.bera.test(re)
##
## Jarque Bera Test
##
## data: re
## X-squared = 11.368, df = 2, p-value = 0.0034
resid(m1)
## 10-2010 10-2011 10-2012 10-2013 10-2014
## -0.1678255146 -0.2186469570 -0.2751200267 -0.1392386309 -0.1103071432
## 10-2015 10-2016 10-2017 10-2018 10-2019
## 0.0087761275 0.0147146294 0.0147146294 0.1473178711 0.0465440046
## 10-2020 10-2021 10-2022 11-2010 11-2011
## 0.2544032524 0.2544032524 0.1702645058 -0.2211415991 -0.2125739131
## 11-2012 11-2013 11-2014 11-2015 11-2016
## -0.0262084225 0.0540299703 0.1460627442 0.2344809590 -0.0531567274
## 11-2017 11-2018 11-2019 11-2020 11-2021
## -0.0531567274 -0.0808310119 0.0992357458 0.0442056515 0.0442056515
## 11-2022 12-2010 12-2011 12-2012 12-2013
## 0.0248476790 -0.5422270762 -0.2396627227 -0.2438138148 -0.0323616762
## 12-2014 12-2015 12-2016 12-2017 12-2018
## 0.0818259175 0.0973540083 -0.1328822447 -0.1328822447 0.0570768403
## 12-2019 12-2020 12-2021 12-2022 13-2010
## -0.0172283202 0.4040097490 0.4040097490 0.2967818355 -0.3212974218
## 13-2011 13-2012 13-2013 13-2014 13-2015
## -0.3887593944 -0.3941672148 0.0886512671 -0.0214173126 -0.1933739029
## 13-2016 13-2017 13-2018 13-2019 13-2020
## 0.0060534436 0.0060534436 0.0349009875 0.4531393339 0.3289896725
## 13-2021 13-2022 14-2010 14-2011 14-2012
## 0.3289896725 0.0722374258 -0.2536733407 -0.4902203244 -0.1482729430
## 14-2013 14-2014 14-2015 14-2016 14-2017
## -0.0931025176 -0.2503690631 -0.4847497062 0.5285903567 0.5285903567
## 14-2018 14-2019 14-2020 14-2021 14-2022
## 0.5121675116 0.5001313756 -0.1444011132 -0.1444011132 -0.0602894793
## 15-2010 15-2011 15-2012 15-2013 15-2014
## -0.4765739520 -0.3461293618 -0.3369821550 -0.0842955178 0.1028428959
## 15-2015 15-2016 15-2017 15-2018 15-2019
## 0.5313845328 0.2530072946 0.2530072946 0.3252170164 0.7403691106
## 15-2020 15-2021 15-2022 16-2010 16-2011
## -0.3665664615 -0.3665664615 -0.2287142352 -0.3876530305 -0.3164763247
## 16-2012 16-2013 16-2014 16-2015 16-2016
## -0.1640901879 -0.0845834722 -0.2210484839 0.3111544052 0.1449260505
## 16-2017 16-2018 16-2019 16-2020 16-2021
## 0.1449260505 0.0893790874 0.1847695402 0.0756130568 0.0756130568
## 16-2022 17-2010 17-2011 17-2012 17-2013
## 0.1474702520 -0.0538669405 0.0190372080 -0.1805430824 -0.1923833627
## 17-2014 17-2015 17-2016 17-2017 17-2018
## -0.3808133180 -0.2500454600 0.1667481802 0.1667481802 0.6952397473
## 17-2019 17-2020 17-2021 17-2022 18-2010
## -0.3213300698 0.1470993751 0.1470993751 0.0370101675 0.6062424158
## 18-2011 18-2012 18-2013 18-2014 18-2015
## -0.3482677374 -0.6122924124 -0.0926550247 -0.1601275657 -0.3321575310
## 18-2016 18-2017 18-2018 18-2019 18-2020
## 0.3765415138 0.3765415138 0.3334260986 -0.1871427195 0.0755789519
## 18-2021 18-2022 19-2010 19-2011 19-2012
## 0.0755789519 -0.1112664551 -0.4170542814 -0.5193806333 -1.1727071971
## 19-2013 19-2014 19-2015 19-2016 19-2017
## -0.8102671246 -0.5996652171 0.0222118050 0.4555182447 0.4555182447
## 19-2018 19-2019 19-2020 19-2021 19-2022
## -0.1838730793 0.5336891475 0.7871117551 0.7871117551 0.6617865806
## 20-2010 20-2011 20-2012 20-2013 20-2014
## -0.3488199640 -0.2010457008 -0.2831383860 -0.0852143363 0.1569541006
## 20-2015 20-2016 20-2017 20-2018 20-2019
## 0.0615086301 0.3291934968 0.3291934968 0.3355412008 -0.2086569607
## 20-2020 20-2021 20-2022 21-2010 21-2011
## -0.0900411248 -0.0900411248 0.0945666722 0.3532881454 -0.2293840410
## 21-2012 21-2013 21-2014 21-2015 21-2016
## -0.4852374493 -0.6003871117 -0.2847464894 -0.3656665911 0.6077307139
## 21-2017 21-2018 21-2019 21-2020 21-2021
## 0.6077307139 0.0314146640 0.1965191601 0.1262447548 0.1262447548
## 21-2022 22-2010 22-2011 22-2012 22-2013
## -0.0837512243 -0.4435444688 -0.6001457967 -0.4187497238 0.1330961920
## 22-2014 22-2015 22-2016 22-2017 22-2018
## 0.2458495243 0.1200390382 0.0429167414 0.0429167414 0.3327818459
## 22-2019 22-2020 22-2021 22-2022 23-2010
## 0.3314936087 0.0427244489 0.0427244489 0.1278973998 -0.0537961362
## 23-2011 23-2012 23-2013 23-2014 23-2015
## -0.3297087892 -0.4608317447 -0.2026203689 0.1206631603 0.3849557222
## 23-2016 23-2017 23-2018 23-2019 23-2020
## 0.3743493283 0.3743493283 -0.0630630290 -0.1990558918 0.0763210103
## 23-2021 23-2022 24-2010 24-2011 24-2012
## 0.0763210103 -0.0978835999 -0.3449131741 -0.0315813286 -0.2298652130
## 24-2013 24-2014 24-2015 24-2016 24-2017
## 0.1401310228 0.0310910572 0.2407641649 0.1268544172 0.1268544172
## 24-2018 24-2019 24-2020 24-2021 24-2022
## 0.0428174872 -0.1542470729 0.1160368397 0.1160368397 -0.1799794574
## 25-2010 25-2011 25-2012 25-2013 25-2014
## -0.1427725387 -0.2073949465 -0.0861720252 -0.1432113775 0.0089655518
## 25-2015 25-2016 25-2017 25-2018 25-2019
## -0.0845822618 -0.0594931753 -0.0594931753 0.0819246638 0.4082896031
## 25-2020 25-2021 25-2022 26-2010 26-2011
## 0.1104679238 0.1104679238 0.0630038338 -0.2410132305 -0.3779101065
## 26-2012 26-2013 26-2014 26-2015 26-2016
## -0.0325530711 -0.0787624399 -0.1046080684 0.2140056306 -0.1823705783
## 26-2017 26-2018 26-2019 26-2020 26-2021
## -0.1823705783 0.0080497860 0.1420062225 0.3133173289 0.3133173289
## 26-2022 27-2010 27-2011 27-2012 27-2013
## 0.2088917760 -0.5991527295 -0.3570558483 -0.3366446316 0.0385356992
## 27-2014 27-2015 27-2016 27-2017 27-2018
## -0.3738822204 -0.0152998540 0.4643746077 0.4643746077 0.4481540397
## 27-2019 27-2020 27-2021 27-2022 28-2010
## 0.3704205662 0.0470649463 0.0470649463 -0.1979541291 -0.1529055853
## 28-2011 28-2012 28-2013 28-2014 28-2015
## -0.1857474091 -0.3017376398 -0.1009969214 -0.0444175779 0.3187956646
## 28-2016 28-2017 28-2018 28-2019 28-2020
## 0.3343623293 0.3343623293 0.2243682775 -0.1172472925 -0.1145498537
## 28-2021 28-2022 29-2010 29-2011 29-2012
## -0.1145498537 -0.0797364675 0.6030484709 -0.0095922849 0.1882098722
## 29-2013 29-2014 29-2015 29-2016 29-2017
## 0.1375491935 0.2912767741 0.2053060383 0.0075124247 0.0075124247
## 29-2018 29-2019 29-2020 29-2021 29-2022
## -0.2760184784 -0.0431705717 -0.3844091794 -0.3844091794 -0.3428155047
## 30-2010 30-2011 30-2012 30-2013 30-2014
## 0.2594293062 0.6008827484 0.1732559927 -0.0276379318 0.1543771215
## 30-2015 30-2016 30-2017 30-2018 30-2019
## -0.0794500712 -0.1882342020 -0.1882342020 0.0118477874 -0.0241721740
## 30-2020 30-2021 30-2022 31-2010 31-2011
## -0.1991990940 -0.1991990940 -0.2936661870 -0.1667850109 -0.3147512046
## 31-2012 31-2013 31-2014 31-2015 31-2016
## -0.6909004058 -0.1645697122 0.3383504652 0.1365395010 0.0436838581
## 31-2017 31-2018 31-2019 31-2020 31-2021
## 0.0436838581 0.0630916663 0.1561344328 0.2321706648 0.2321706648
## 31-2022 32-2010 32-2011 32-2012 32-2013
## 0.0911812224 -0.2634242399 -0.3109980169 -0.1257660222 -0.2642275730
## 32-2014 32-2015 32-2016 32-2017 32-2018
## 0.0007334459 0.4135257776 -0.0965972852 -0.0965972852 0.2068888364
## 32-2019 32-2020 32-2021 32-2022 33-2010
## 0.1871605012 0.1772227117 0.1772227117 -0.0051435622 -0.5985668442
## 33-2011 33-2012 33-2013 33-2014 33-2015
## -0.0986354325 -0.4257874987 -0.0656285526 -0.2017364767 0.6288637676
## 33-2016 33-2017 33-2018 33-2019 33-2020
## -0.0812670781 -0.0812670781 -0.1222398262 0.0851921123 0.4574706215
## 33-2021 33-2022
## 0.4574706215 0.0461316643
#TFP_log <- resid(m1)
#tfp_panel <- data.frame(
# KBLI = index(m1)$KBLI,
# Tahun = index(m1)$Tahun,
# lnTFP = TFP_log)
#head(tfp_panel)
#tfp_panel$TFP <- exp(tfp_panel$lnTFP)
#head(tfp_panel)
beta <- coef(m1)
beta
## lnK lnL lnM lnFDI
## 0.02210067 0.74140659 0.42664692 0.11786314
dpm1 <- dpm1 %>%
mutate(
lnTFP_manual =
lnY -
(beta["lnK"] * lnK +
beta["lnL"] * lnL +
beta["lnM"] * lnM +
beta["lnFDI"] * lnFDI)
)
head(dpm1)
## # A tibble: 6 × 13
## KBLI tahun Y L K M FDI lnY lnK lnL lnM lnFDI
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 10 2010 1.57e8 675797 3.25e8 2.62e8 1.84e7 18.9 19.6 13.4 19.4 16.7
## 2 10 2011 1.92e8 742195 3.76e8 4.20e8 1.55e7 19.1 19.7 13.5 19.9 16.6
## 3 10 2012 2.23e8 884602 6.35e8 4.53e8 2.00e7 19.2 20.3 13.7 19.9 16.8
## 4 10 2013 2.95e8 901550 5.60e8 5.66e8 2.73e7 19.5 20.1 13.7 20.2 17.1
## 5 10 2014 3.25e8 877791 6.68e9 5.43e8 4.27e7 19.6 22.6 13.7 20.1 17.6
## 6 10 2015 3.49e8 858170 7.19e8 6.09e8 3.27e7 19.7 20.4 13.7 20.2 17.3
## # ℹ 1 more variable: lnTFP_manual <dbl>
fixef(m1)
## 10 11 12 13 14 15 16 17
## -1.58792 -0.39599 -0.66989 -1.61301 -1.37460 -1.28088 -1.39062 -0.76296
## 18 19 20 21 22 23 24 25
## -0.37279 0.19710 -0.56630 -0.13708 -1.48703 -0.62005 -0.50723 -1.02384
## 26 27 28 29 30 31 32 33
## -0.91143 -0.18089 -0.12554 -0.14119 -0.29183 -1.18616 -1.30084 0.10924
alpha <- fixef(m1)
alpha_df <- data.frame(
KBLI = as.character(names(alpha)),
alpha = as.numeric(alpha)
)
dpm1 <- dpm1 %>%
mutate(KBLI = as.character(KBLI)) %>%
left_join(alpha_df, by = "KBLI") %>%
mutate(
resid = residuals(m1),
lnTFP = alpha+resid#+(beta0)
)
head(dpm1)
## # A tibble: 6 × 16
## KBLI tahun Y L K M FDI lnY lnK lnL lnM lnFDI
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 10 2010 1.57e8 675797 3.25e8 2.62e8 1.84e7 18.9 19.6 13.4 19.4 16.7
## 2 10 2011 1.92e8 742195 3.76e8 4.20e8 1.55e7 19.1 19.7 13.5 19.9 16.6
## 3 10 2012 2.23e8 884602 6.35e8 4.53e8 2.00e7 19.2 20.3 13.7 19.9 16.8
## 4 10 2013 2.95e8 901550 5.60e8 5.66e8 2.73e7 19.5 20.1 13.7 20.2 17.1
## 5 10 2014 3.25e8 877791 6.68e9 5.43e8 4.27e7 19.6 22.6 13.7 20.1 17.6
## 6 10 2015 3.49e8 858170 7.19e8 6.09e8 3.27e7 19.7 20.4 13.7 20.2 17.3
## # ℹ 4 more variables: lnTFP_manual <dbl>, alpha <dbl>, resid <pseries>,
## # lnTFP <pseries>
var(dpm1$lnTFP_manual)
## [1] 0.3930991
mean(dpm1$lnTFP_manual)
## [1] -0.7342388
#library(writexl)
#write_xlsx(dpm1, path = "~/KULIAH/DRAFT/DATA RAW/DATA FIX/df_m1.xlsx")
library(dplyr)
library(ggplot2)
library(scales)
#K
df_all %>%
filter(tahun %in% c(2010, 2021)) %>%
ggplot(aes(x = K, y = Y)) +
geom_point(color = "black") +
geom_smooth(method = "lm", se = FALSE, color = "black") +
facet_wrap(~tahun, scales = "fixed") +
scale_x_continuous(labels = comma) +
scale_y_continuous(labels = comma) +
labs(
x = "Kapital (K)",
y = "Output (Y)"
) +
theme_classic()+
theme(
axis.text.x = element_text(angle = 45, hjust = 1)
)
## `geom_smooth()` using formula = 'y ~ x'
#L
df_all %>%
filter(tahun %in% c(2010, 2021)) %>%
ggplot(aes(x = L, y = Y)) +
geom_point(color = "black") +
geom_smooth(method = "lm", se = FALSE, color = "black") +
facet_wrap(~tahun, scales = "fixed") +
scale_x_continuous(labels = comma) +
scale_y_continuous(labels = comma) +
labs(
x = "Tenaga Kerja (L)",
y = "Output (Y)"
) +
theme_classic()+
theme(
axis.text.x = element_text(angle = 45, hjust = 1)
)
## `geom_smooth()` using formula = 'y ~ x'
#M
df_all %>%
filter(tahun %in% c(2010, 2021)) %>%
ggplot(aes(x = M, y = Y)) +
geom_point(color = "black") +
geom_smooth(method = "lm", se = FALSE, color = "black") +
facet_wrap(~tahun, scales = "fixed") +
scale_x_continuous(labels = comma) +
scale_y_continuous(labels = comma) +
labs(
x = "Material (M)",
y = "Output (Y)"
) +
theme_classic()+
theme(
axis.text.x = element_text(angle = 45, hjust = 1)
)
## `geom_smooth()` using formula = 'y ~ x'
#FDI
df_all %>%
filter(tahun %in% c(2010, 2021)) %>%
ggplot(aes(x = FDI, y = Y)) +
geom_point(color = "black") +
geom_smooth(method = "lm", se = FALSE, color = "black") +
facet_wrap(~tahun, scales = "fixed") +
scale_x_continuous(labels = comma) +
scale_y_continuous(labels = comma) +
labs(
x = "Investasi Asing (FDI)",
y = "Output (Y)"
) +
theme_classic()+
theme(
axis.text.x = element_text(angle = 45, hjust = 1)
)
## `geom_smooth()` using formula = 'y ~ x'
dpm1$TFP <- exp(dpm1$lnTFP)
ggplot(dpm1,
aes(x = tahun,
y = TFP,
group = KBLI)) +
geom_line() +
geom_point(size = 0.8) +
facet_wrap(~ KBLI,
scales = "free_y",
ncol = 4) +
labs(title = "Perkembangan TFP Industri Pengolahan Menurut KBLI 2 Digit",
x = "Tahun",
y = "TFP") +
theme_bw()
df2_10 <- df10 %>% select(DISIC510,DASING10,ITXVCU10,VTLVCU10,LTLNOU10,ZPDVCU10,ZNDVCU10)
df2_11 <- df11 %>% select(DISIC511,DASING11,ITXVCU11,VTLVCU11,LTLNOU11,ZPDVCU11,ZNDVCU11)
df2_12 <- df12 %>% select(DISIC512,DASING12,ITXVCU12,VTLVCU12,LTLNOU12,ZPDVCU12,ZNDVCU12)
df2_13 <- df13 %>% select(DISIC513,DASING13,ITXVCU13,VTLVCU13,LTLNOU13,ZPDVCU13,ZNDVCU13)
df2_14 <- df14 %>% select(DISIC514,DASING14,ITXVCU14,VTLVCU14,LTLNOU14,ZPDVCU14,ZNDVCU14)
df2_15 <- df15 %>% select(DISIC515,DASING15,ITXVCU15,VTLVCU15,LTLNOU15,ZPDVCU15,ZNDVCU15)
df2_17 <- df17 %>% select(DISIC517,DASING17,ITXVCU17,VTLVCU17,LTLNOU17,ZPDVCU17,ZNDVCU17)
df2_18 <- df18 %>% select(DISIC518,DASING18,ITXVCU18,VTLVCU18,LTLNOU18,ZPDVCU18,ZNDVCU18)
df2_19 <- df19 %>% select(DISIC519,DASING19,ITXVCU19,VTLVCU19,LTLNOU19,ZPDVCU19,ZNDVCU19)
df2_21 <- df21 %>% select(DISIC2...4,DASING21,ITXVCU21,VTLVCU21,LTLNOU21,ZPDVCU21,ZNDVCU21)
df2_22 <- df22%>% select(DISIC222,DASING22,ITXVCU22,VTLVCU22,LTLNOU22,ZPDVCU22,ZNDVCU22)
# Spillover Horizontal
spill10<-df2_10%>%
group_by(DISIC510) %>%
summarise(
hori10 = sum(DASING10*VTLVCU10, na.rm = TRUE)/sum(VTLVCU10, na.rm = TRUE) #di javorcik dlm bntuk persen bukan proporsi
)
spill11<-df2_11%>%
group_by(DISIC511) %>%
summarise(
hori11 = sum(DASING11*VTLVCU11, na.rm = TRUE)/sum(VTLVCU11, na.rm = TRUE) #di javorcik dlm bntuk persen bukan proporsi
)
spill12<-df2_12%>%
group_by(DISIC512) %>%
summarise(
hori12 = sum(DASING12*VTLVCU12, na.rm = TRUE)/sum(VTLVCU12, na.rm = TRUE) #di javorcik dlm bntuk persen bukan proporsi
)
spill13<-df2_13%>%
group_by(DISIC513) %>%
summarise(
hori13 = sum(DASING13*VTLVCU13, na.rm = TRUE)/sum(VTLVCU13, na.rm = TRUE) #di javorcik dlm bntuk persen bukan proporsi
)
spill14<-df2_14%>%
group_by(DISIC514) %>%
summarise(
hori14 = sum(DASING14*VTLVCU14, na.rm = TRUE)/sum(VTLVCU14, na.rm = TRUE) #di javorcik dlm bntuk persen bukan proporsi
)
spill15<-df2_15%>%
group_by(DISIC515) %>%
summarise(
hori15 = sum(DASING15*VTLVCU15, na.rm = TRUE)/sum(VTLVCU15, na.rm = TRUE) #di javorcik dlm bntuk persen bukan proporsi
)
spill17<-df2_17%>%
group_by(DISIC517) %>%
summarise(
hori17 = sum(DASING17*VTLVCU17, na.rm = TRUE)/sum(VTLVCU17, na.rm = TRUE) #di javorcik dlm bntuk persen bukan proporsi
)
spill18<-df2_18%>%
group_by(DISIC518) %>%
summarise(
hori18 = sum(DASING18*VTLVCU18, na.rm = TRUE)/sum(VTLVCU18, na.rm = TRUE)
)
spill19<-df2_19%>%
group_by(DISIC519) %>%
summarise(
hori19 = sum(DASING19*VTLVCU19, na.rm = TRUE)/sum(VTLVCU19, na.rm = TRUE)
)
spill21<-df2_21%>%
group_by(DISIC2...4) %>%
summarise(
hori21 = sum(DASING21*VTLVCU21, na.rm = TRUE)/sum(VTLVCU21, na.rm = TRUE)
)
spill22<-df2_22%>%
group_by(DISIC222) %>%
summarise(
hori22 = sum(DASING22*VTLVCU22, na.rm = TRUE)/sum(VTLVCU22, na.rm = TRUE) #di javorcik dlm bntuk persen bukan proporsi
)
#Import matriks A
A_10 <- read_excel("~/KULIAH/DRAFT/DATA RAW/Matriks A.xlsx",
sheet = "2010")
A_16 <- read_excel("~/KULIAH/DRAFT/DATA RAW/Matriks A.xlsx",
sheet = "2016")
A_20 <- read_excel("~/KULIAH/DRAFT/DATA RAW/Matriks A.xlsx",
sheet = "2020")
#Backward Spillover
#disesuaikan tahunnya
#2010
h_10 <- spill10$hori10 #vektor horizontal
A_1 <- as.matrix(A_10[, -1]) #buang kolom 1
diag(A_1) <- 0 #diagonal menjadi 0 k != j
bw_10 <- A_1 %*% h_10 # Hitung Backward Spillover
spill10$backward10 <- as.vector(bw_10) #masukkan ke data frame
#2011
h_11 <- spill11$hori11 #vektor horizontal
A_11 <- as.matrix(A_10[, -1]) #buang kolom 1
diag(A_11) <- 0 #diagonal menjadi 0 k != j
bw_11 <- A_11 %*% h_11 # Hitung Backward Spillover
spill11$backward11 <- as.vector(bw_11) #masukkan ke data frame
#2012
h_12 <- spill12$hori12 #vektor horizontal
A_12 <- as.matrix(A_10[, -1]) #buang kolom 1
diag(A_12) <- 0 #diagonal menjadi 0 k != j
bw_12 <- A_12 %*% h_12 # Hitung Backward Spillover
spill12$backward12 <- as.vector(bw_12) #masukkan ke data frame
#2013
h_13 <- spill13$hori13 #vektor horizontal
A_13 <- as.matrix(A_10[, -1]) #buang kolom 1
diag(A_13) <- 0 #diagonal menjadi 0 k != j
bw_13 <- A_13 %*% h_13 # Hitung Backward Spillover
spill13$backward13 <- as.vector(bw_13) #masukkan ke data frame
#2014
h_14 <- spill14$hori14 #vektor horizontal
A_14 <- as.matrix(A_10[, -1]) #buang kolom 1
diag(A_14) <- 0 #diagonal menjadi 0 k != j
bw_14 <- A_14 %*% h_14 # Hitung Backward Spillover
spill14$backward14 <- as.vector(bw_14) #masukkan ke data frame
#2015
h_15 <- spill15$hori15 #vektor horizontal
A_15 <- as.matrix(A_10[, -1]) #buang kolom 1
diag(A_15) <- 0 #diagonal menjadi 0 k != j
bw_15 <- A_15 %*% h_15 # Hitung Backward Spillover
spill15$backward15 <- as.vector(bw_15) #masukkan ke data frame
#2017
h_17 <- spill17$hori17 #vektor horizontal
A_17 <- as.matrix(A_16[, -1]) #buang kolom 1
diag(A_17) <- 0 #diagonal menjadi 0 k != j
bw_17 <- A_17 %*% h_17 # Hitung Backward Spillover
spill17$backward17 <- as.vector(bw_17) #masukkan ke data frame
#2018
h_18 <- spill18$hori18 #vektor horizontal
A_18 <- as.matrix(A_16[, -1]) #buang kolom 1
diag(A_18) <- 0 #diagonal menjadi 0 k != j
bw_18 <- A_18 %*% h_18 # Hitung Backward Spillover
spill18$backward18 <- as.vector(bw_18) #masukkan ke data frame
#2019
h_19 <- spill19$hori19 #vektor horizontal
A_19 <- as.matrix(A_16[, -1]) #buang kolom 1
diag(A_19) <- 0 #diagonal menjadi 0 k != j
bw_19 <- A_19 %*% h_19 # Hitung Backward Spillover
spill19$backward19 <- as.vector(bw_19) #masukkan ke data frame
#2021
h_21 <- spill21$hori21 #vektor horizontal
A_21 <- as.matrix(A_20[, -1]) #buang kolom 1
diag(A_21) <- 0 #diagonal menjadi 0 k != j
bw_21 <- A_21 %*% h_21 # Hitung Backward Spillover
spill21$backward21 <- as.vector(bw_21) #masukkan ke data frame
#2022
h_22 <- spill22$hori22 #vektor horizontal
A_22 <- as.matrix(A_20[, -1]) #buang kolom 1
diag(A_22) <- 0 #diagonal menjadi 0 k != j
bw_22 <- A_22 %*% h_22 # Hitung Backward Spillover
spill22$backward22 <- as.vector(bw_22) #masukkan ke data frame
#Forward Spillover
#2010
h_10 <- spill10$hori10 #vektor horizontal
A_1 <- as.matrix(A_10[, -1]) #buang kolom 1
diag(A_1) <- 0 #diagonal menjadi 0 k != j
fw_10 <- t(A_1) %*% h_10 # Hitung Backward Spillover
spill10$forward10 <- as.vector(fw_10) #masukkan ke data frame
#2011
h_11 <- spill11$hori11 #vektor horizontal
A_11 <- as.matrix(A_10[, -1]) #buang kolom 1
diag(A_11) <- 0 #diagonal menjadi 0 k != j
fw_11 <- t(A_11) %*% h_11 # Hitung Backward Spillover
spill11$forward11 <- as.vector(fw_11) #masukkan ke data frame
#2012
h_12 <- spill12$hori12 #vektor horizontal
A_12 <- as.matrix(A_10[, -1]) #buang kolom 1
diag(A_12) <- 0 #diagonal menjadi 0 k != j
fw_12 <- t(A_18) %*% h_12 # Hitung Backward Spillover
spill12$forward12 <- as.vector(fw_12) #masukkan ke data frame
#2013
h_13 <- spill13$hori13 #vektor horizontal
A_13 <- as.matrix(A_10[, -1]) #buang kolom 1
diag(A_13) <- 0 #diagonal menjadi 0 k != j
fw_13 <- t(A_13) %*% h_13 # Hitung Backward Spillover
spill13$forward13 <- as.vector(fw_13) #masukkan ke data frame
#2014
h_14 <- spill14$hori14 #vektor horizontal
A_14 <- as.matrix(A_10[, -1]) #buang kolom 1
diag(A_14) <- 0 #diagonal menjadi 0 k != j
fw_14 <- t(A_14) %*% h_14 # Hitung Backward Spillover
spill14$forward14 <- as.vector(fw_14) #masukkan ke data frame
#2015
h_15 <- spill15$hori15 #vektor horizontal
A_15 <- as.matrix(A_10[, -1]) #buang kolom 1
diag(A_15) <- 0 #diagonal menjadi 0 k != j
fw_15 <- t(A_15) %*% h_15 # Hitung Backward Spillover
spill15$forward15 <- as.vector(fw_15) #masukkan ke data frame
#2017
h_17 <- spill17$hori17 #vektor horizontal
A_17 <- as.matrix(A_16[, -1]) #buang kolom 1
diag(A_17) <- 0 #diagonal menjadi 0 k != j
# t(A_17) digunakan karena kita ingin melihat distribusi OUTPUT (baris)
# namun dalam format koefisien yang biasanya disusun per KOLOM (input).
fw_17 <- t(A_17) %*% h_17
spill17$forward17 <- as.vector(fw_17) #masukkan ke data frame
#2018
h_18 <- spill18$hori18 #vektor horizontal
A_18 <- as.matrix(A_16[, -1]) #buang kolom 1
diag(A_18) <- 0 #diagonal menjadi 0 k != j
fw_18 <- t(A_18) %*% h_18 # Hitung Backward Spillover
spill18$forward18 <- as.vector(fw_18) #masukkan ke data frame
#2019
h_19 <- spill19$hori19 #vektor horizontal
A_19 <- as.matrix(A_16[, -1]) #buang kolom 1
diag(A_19) <- 0 #diagonal menjadi 0 k != j
fw_19 <- t(A_19) %*% h_19 # Hitung Backward Spillover
spill19$forward19 <- as.vector(fw_19) #masukkan ke data frame
#2021
h_21 <- spill21$hori21 #vektor horizontal
A_21 <- as.matrix(A_20[, -1]) #buang kolom 1
diag(A_21) <- 0 #diagonal menjadi 0 k != j
fw_21 <- t(A_21) %*% h_21 # Hitung Backward Spillover
spill21$forward21 <- as.vector(fw_21) #masukkan ke data frame
#2022
h_22 <- spill22$hori22 #vektor horizontal
A_22 <- as.matrix(A_20[, -1]) #buang kolom 1
diag(A_22) <- 0 #diagonal menjadi 0 k != j
fw_22 <- t(A_22) %*% h_22 # Hitung Backward Spillover
spill22$forward22 <- as.vector(fw_22) #masukkan ke data frame
#Data frame
spill10 <- spill10 %>%
rename(KBLI = DISIC510,
hori = hori10,
Forw = forward10,
Backw = backward10) %>%
mutate(
KBLI = as.character(KBLI),
tahun = 2010
)
spill11 <- spill11 %>%
rename(KBLI = DISIC511,
hori = hori11,
Forw = forward11,
Backw = backward11) %>%
mutate(
KBLI = as.character(KBLI),
tahun = 2011
)
spill12 <- spill12 %>%
rename(KBLI = DISIC512,
hori = hori12,
Forw = forward12,
Backw = backward12) %>%
mutate(
KBLI = as.character(KBLI),
tahun = 2012
)
spill13 <- spill13 %>%
rename(KBLI = DISIC513,
hori = hori13,
Forw = forward13,
Backw = backward13) %>%
mutate(
KBLI = as.character(KBLI),
tahun = 2013
)
spill14 <- spill14 %>%
rename(KBLI = DISIC514,
hori = hori14,
Forw = forward14,
Backw = backward14) %>%
mutate(
KBLI = as.character(KBLI),
tahun = 2014
)
spill15 <- spill15 %>%
rename(KBLI = DISIC515,
hori = hori15,
Forw = forward15,
Backw = backward15) %>%
mutate(
KBLI = as.character(KBLI),
tahun = 2015
)
spill17 <- spill17 %>%
rename(KBLI = DISIC517,
hori = hori17,
Forw = forward17,
Backw = backward17) %>%
mutate(
KBLI = as.character(KBLI),
tahun = 2017
)
spill18 <- spill18 %>%
rename(KBLI = DISIC518,
hori = hori18,
Forw = forward18,
Backw = backward18) %>%
mutate(
KBLI = as.character(KBLI),
tahun = 2018
)
spill19 <- spill19 %>%
rename(KBLI = DISIC519,
hori = hori19,
Forw = forward19,
Backw = backward19) %>%
mutate(
KBLI = as.character(KBLI),
tahun = 2019
)
spill21 <- spill21 %>%
rename(KBLI = DISIC2...4,
hori = hori21,
Forw = forward21,
Backw = backward21) %>%
mutate(
KBLI = as.character(KBLI),
tahun = 2021
)
spill22 <- spill22 %>%
rename(KBLI = DISIC222,
hori = hori22,
Forw = forward22,
Backw = backward22) %>%
mutate(
KBLI = as.character(KBLI),
tahun = 2022
)
df_spill <- bind_rows(
spill10,
spill11,
spill12,
spill13,
spill14,
spill15,
spill17,
spill18,
spill19,
spill21,
spill22
) %>%
arrange(KBLI, tahun)
library(dplyr)
library(tidyr)
# Tambahkan tahun yang hilang
df_spill <- df_spill %>%
group_by(KBLI) %>%
complete(tahun = 2010:2022) %>%
ungroup()
# Imputasi
df_spill <- df_spill %>%
arrange(KBLI, tahun) %>%
group_by(KBLI) %>%
mutate(
across(
where(is.numeric) & !matches("tahun"),
~ifelse(
tahun %in% c(2016, 2020) & is.na(.),
dplyr::lead(.),
.
)
)
) %>%
ungroup()
View(df_spill)
#library(writexl)
#write_xlsx(df_spill, path = "~/KULIAH/DRAFT/DATA RAW/DATA FIX/dfspill.xlsx")
# Untuk variabel insentif pajak dan kontrol
# 2010
df10_agg2 <- df2_10 %>%
group_by(DISIC510) %>%
summarise(
TX10_sum = sum(ITXVCU10, na.rm = TRUE),
OUTPUT10_sum = sum(VTLVCU10,na.rm = TRUE),
INSEN10_sum = TX10_sum/OUTPUT10_sum, #insentif
abs10_sum = (sum(ZPDVCU10, na.rm = TRUE)+sum(ZNDVCU10, na.rm = TRUE))/sum(LTLNOU10, na.rm = TRUE) #absorptive capacity
)
# 2011
df11_agg2 <- df2_11 %>%
group_by(DISIC511) %>%
summarise(
TX11_sum = sum(ITXVCU11, na.rm = TRUE),
OUTPUT11_sum = sum(VTLVCU11,na.rm = TRUE),
INSEN11_sum = TX11_sum/OUTPUT11_sum, #insentif
abs11_sum = (sum(ZPDVCU11, na.rm = TRUE)+sum(ZNDVCU11, na.rm = TRUE))/sum(LTLNOU11, na.rm = TRUE) #absorptive capacity
)
# 2012
df12_agg2 <- df2_12 %>%
group_by(DISIC512) %>%
summarise(
TX12_sum = sum(ITXVCU12, na.rm = TRUE),
OUTPUT12_sum = sum(VTLVCU12,na.rm = TRUE),
INSEN12_sum = TX12_sum/OUTPUT12_sum, #insentif
abs12_sum = (sum(ZPDVCU12, na.rm = TRUE)+sum(ZNDVCU12, na.rm = TRUE))/sum(LTLNOU12, na.rm = TRUE) #absorptive capacity
)
# 2013
df13_agg2 <- df2_13 %>%
group_by(DISIC513) %>%
summarise(
TX13_sum = sum(ITXVCU13, na.rm = TRUE),
OUTPUT13_sum = sum(VTLVCU13,na.rm = TRUE),
INSEN13_sum = TX13_sum/OUTPUT13_sum, #insentif
abs13_sum = (sum(ZPDVCU13, na.rm = TRUE)+sum(ZNDVCU13, na.rm = TRUE))/sum(LTLNOU13, na.rm = TRUE) #absorptive capacity
)
# 2014
df14_agg2 <- df2_14 %>%
group_by(DISIC514) %>%
summarise(
TX14_sum = sum(ITXVCU14, na.rm = TRUE),
OUTPUT14_sum = sum(VTLVCU14,na.rm = TRUE),
INSEN14_sum = TX14_sum/OUTPUT14_sum, #insentif
abs14_sum = (sum(ZPDVCU14, na.rm = TRUE)+sum(ZNDVCU14, na.rm = TRUE))/sum(LTLNOU14, na.rm = TRUE) #absorptive capacity
)
# 2015
df15_agg2 <- df2_15 %>%
group_by(DISIC515) %>%
summarise(
TX15_sum = sum(ITXVCU15, na.rm = TRUE),
OUTPUT15_sum = sum(VTLVCU15,na.rm = TRUE),
INSEN15_sum = TX15_sum/OUTPUT15_sum, #insentif
abs15_sum = (sum(ZPDVCU15, na.rm = TRUE)+sum(ZNDVCU15, na.rm = TRUE))/sum(LTLNOU15, na.rm = TRUE) #absorptive capacity
)
# 2017
df17_agg2 <- df2_17 %>%
group_by(DISIC517) %>%
summarise(
TX17_sum = sum(ITXVCU17, na.rm = TRUE),
OUTPUT17_sum = sum(VTLVCU17,na.rm = TRUE),
INSEN17_sum = TX17_sum/OUTPUT17_sum, #insentif
abs17_sum = (sum(ZPDVCU17, na.rm = TRUE)+sum(ZNDVCU17, na.rm = TRUE))/sum(LTLNOU17, na.rm = TRUE) #absorptive capacity
)
# 2018
df18_agg2 <- df2_18 %>%
group_by(DISIC518) %>%
summarise(
TX18_sum = sum(ITXVCU18, na.rm = TRUE),
OUTPUT18_sum = sum(VTLVCU18,na.rm = TRUE),
INSEN18_sum = TX18_sum/OUTPUT18_sum,
abs18_sum = (sum(ZPDVCU18, na.rm = TRUE)+sum(ZNDVCU18, na.rm = TRUE))/sum(LTLNOU18, na.rm = TRUE) #absorptive capacity
)
# 2019
df19_agg2 <- df2_19 %>%
group_by(DISIC519) %>%
summarise(
TX19_sum = sum(ITXVCU19, na.rm = TRUE),
OUTPUT19_sum = sum(VTLVCU19,na.rm = TRUE),
INSEN19_sum = TX19_sum/OUTPUT19_sum,
abs19_sum = (sum(ZPDVCU19, na.rm = TRUE)+sum(ZNDVCU19, na.rm = TRUE))/sum(LTLNOU19, na.rm = TRUE) #absorptive capacity
)
# 2021
df21_agg2 <- df2_21 %>%
group_by(DISIC2...4) %>%
summarise(
TX21_sum = sum(ITXVCU21, na.rm = TRUE),
OUTPUT21_sum = sum(VTLVCU21,na.rm = TRUE),
INSEN21_sum = TX21_sum/OUTPUT21_sum,
abs21_sum = (sum(ZPDVCU21, na.rm = TRUE)+sum(ZNDVCU21, na.rm = TRUE))/sum(LTLNOU21, na.rm = TRUE) #absorptive capacity
)
# 2022
df22_agg2 <- df2_22 %>%
group_by(DISIC222) %>%
summarise(
TX22_sum = sum(ITXVCU22, na.rm = TRUE),
OUTPUT22_sum = sum(VTLVCU22,na.rm = TRUE),
INSEN22_sum = TX22_sum/OUTPUT22_sum,
abs22_sum = (sum(ZPDVCU22, na.rm = TRUE)+sum(ZNDVCU22, na.rm = TRUE))/sum(LTLNOU22, na.rm = TRUE) #absorptive capacity
)
#HHI (Konsentrasi Pasar)
df10_hhi <- df2_10 %>%
group_by(DISIC510) %>%
mutate(
total_output10 = sum(VTLVCU10, na.rm = TRUE),
market_share10 = VTLVCU10 / total_output10
) %>%
summarise(
HHI = sum(market_share10^2, na.rm = TRUE),
.groups = "drop"
) %>%
rename(KBLI = DISIC510) %>%
mutate(
tahun = 2010,
KBLI = as.character(KBLI)
)
df11_hhi <- df2_11 %>%
group_by(DISIC511) %>%
mutate(
total_output11 = sum(VTLVCU11, na.rm = TRUE),
market_share11 = VTLVCU11 / total_output11
) %>%
summarise(
HHI = sum(market_share11^2, na.rm = TRUE),
.groups = "drop"
) %>%
rename(KBLI = DISIC511) %>%
mutate(
tahun = 2011,
KBLI = as.character(KBLI)
)
df12_hhi <- df2_12 %>%
group_by(DISIC512) %>%
mutate(
total_output12 = sum(VTLVCU12, na.rm = TRUE),
market_share12 = VTLVCU12 / total_output12
) %>%
summarise(
HHI = sum(market_share12^2, na.rm = TRUE),
.groups = "drop"
) %>%
rename(KBLI = DISIC512) %>%
mutate(
tahun = 2012,
KBLI = as.character(KBLI)
)
df13_hhi <- df2_13 %>%
group_by(DISIC513) %>%
mutate(
total_output13 = sum(VTLVCU13, na.rm = TRUE),
market_share13 = VTLVCU13 / total_output13
) %>%
summarise(
HHI = sum(market_share13^2, na.rm = TRUE),
.groups = "drop"
) %>%
rename(KBLI = DISIC513) %>%
mutate(
tahun = 2013,
KBLI = as.character(KBLI)
)
df14_hhi <- df2_14 %>%
group_by(DISIC514) %>%
mutate(
total_output14 = sum(VTLVCU14, na.rm = TRUE),
market_share14 = VTLVCU14 / total_output14
) %>%
summarise(
HHI = sum(market_share14^2, na.rm = TRUE),
.groups = "drop"
) %>%
rename(KBLI = DISIC514) %>%
mutate(
tahun = 2014,
KBLI = as.character(KBLI)
)
df15_hhi <- df2_15 %>%
group_by(DISIC515) %>%
mutate(
total_output15 = sum(VTLVCU15, na.rm = TRUE),
market_share15 = VTLVCU15 / total_output15
) %>%
summarise(
HHI = sum(market_share15^2, na.rm = TRUE),
.groups = "drop"
) %>%
rename(KBLI = DISIC515) %>%
mutate(
tahun = 2015,
KBLI = as.character(KBLI)
)
df17_hhi <- df2_17 %>%
group_by(DISIC517) %>%
mutate(
total_output17 = sum(VTLVCU17, na.rm = TRUE),
market_share17 = VTLVCU17 / total_output17
) %>%
summarise(
HHI = sum(market_share17^2, na.rm = TRUE),
.groups = "drop"
) %>%
rename(KBLI = DISIC517) %>%
mutate(
tahun = 2017,
KBLI = as.character(KBLI)
)
df18_hhi <- df2_18 %>%
group_by(DISIC518) %>%
mutate(
total_output18 = sum(VTLVCU18, na.rm = TRUE),
market_share18 = VTLVCU18 / total_output18
) %>%
summarise(
HHI = sum(market_share18^2, na.rm = TRUE),
.groups = "drop"
) %>%
rename(KBLI = DISIC518) %>%
mutate(
tahun = 2018,
KBLI = as.character(KBLI)
)
df19_hhi <- df2_19 %>%
group_by(DISIC519) %>%
mutate(
total_output19 = sum(VTLVCU19, na.rm = TRUE),
market_share19 = VTLVCU19 / total_output19
) %>%
summarise(
HHI = sum(market_share19^2, na.rm = TRUE),
.groups = "drop"
) %>%
rename(KBLI = DISIC519) %>%
mutate(
tahun = 2019,
KBLI = as.character(KBLI)
)
df21_hhi <- df2_21 %>%
group_by(DISIC2...4) %>%
mutate(
total_output21 = sum(VTLVCU21, na.rm = TRUE),
market_share21 = VTLVCU21 / total_output21
) %>%
summarise(
HHI = sum(market_share21^2, na.rm = TRUE),
.groups = "drop"
) %>%
rename(KBLI = DISIC2...4) %>%
mutate(
tahun = 2021,
KBLI = as.character(KBLI)
)
df22_hhi <- df2_22 %>%
group_by(DISIC222) %>%
mutate(
total_output22 = sum(VTLVCU22, na.rm = TRUE),
market_share22 = VTLVCU22 / total_output22
) %>%
summarise(
HHI = sum(market_share22^2, na.rm = TRUE),
.groups = "drop"
) %>%
rename(KBLI = DISIC222) %>%
mutate(
tahun = 2022,
KBLI = as.character(KBLI)
)
hhi_panel <- bind_rows(
df10_hhi,
df11_hhi,
df12_hhi,
df13_hhi,
df14_hhi,
df15_hhi,
df17_hhi,
df18_hhi,
df19_hhi,
df21_hhi,
df22_hhi
) %>%
arrange(KBLI, tahun)
df10_agg2 <- df10_agg2 %>%
rename(KBLI = DISIC510,
TAX = INSEN10_sum,
output = OUTPUT10_sum,
TAX_SUM = TX10_sum,
abs = abs10_sum) %>%
mutate(TAXR = 1-TAX,
KBLI = as.character(KBLI),
tahun = 2010)
df11_agg2 <- df11_agg2 %>%
rename(KBLI = DISIC511,
TAX = INSEN11_sum,
output = OUTPUT11_sum,
TAX_SUM = TX11_sum,
abs = abs11_sum) %>%
mutate(TAXR = 1-TAX,
KBLI = as.character(KBLI),
tahun = 2011)
df12_agg2 <- df12_agg2 %>%
rename(KBLI = DISIC512,
TAX = INSEN12_sum,
output = OUTPUT12_sum,
TAX_SUM = TX12_sum,
abs = abs12_sum) %>%
mutate(TAXR = 1-TAX,
KBLI = as.character(KBLI),
tahun = 2012)
df13_agg2 <- df13_agg2 %>%
rename(KBLI = DISIC513,
TAX = INSEN13_sum,
output = OUTPUT13_sum,
TAX_SUM = TX13_sum,
abs = abs13_sum) %>%
mutate(TAXR = 1-TAX,
KBLI = as.character(KBLI),
tahun = 2013)
df14_agg2 <- df14_agg2 %>%
rename(KBLI = DISIC514,
TAX = INSEN14_sum,
output = OUTPUT14_sum,
TAX_SUM = TX14_sum,
abs = abs14_sum) %>%
mutate(TAXR = 1-TAX,
KBLI = as.character(KBLI),
tahun = 2014)
df15_agg2 <- df15_agg2 %>%
rename(KBLI = DISIC515,
TAX = INSEN15_sum,
output = OUTPUT15_sum,
TAX_SUM = TX15_sum,
abs = abs15_sum) %>%
mutate(TAXR = 1-TAX,
KBLI = as.character(KBLI),
tahun = 2015)
df17_agg2 <- df17_agg2 %>%
rename(KBLI = DISIC517,
TAX = INSEN17_sum,
output = OUTPUT17_sum,
TAX_SUM = TX17_sum,
abs = abs17_sum) %>%
mutate(TAXR = 1-TAX,
KBLI = as.character(KBLI),
tahun = 2017)
df18_agg2 <- df18_agg2 %>%
rename(KBLI = DISIC518,
TAX = INSEN18_sum,
output = OUTPUT18_sum,
TAX_SUM = TX18_sum,
abs = abs18_sum) %>%
mutate(TAXR = 1-TAX,
KBLI = as.character(KBLI),
tahun = 2018)
df19_agg2 <- df19_agg2 %>%
rename(KBLI = DISIC519,
TAX = INSEN19_sum,
output = OUTPUT19_sum,
TAX_SUM = TX19_sum,
abs = abs19_sum) %>%
mutate(TAXR = 1-TAX,
KBLI = as.character(KBLI),
tahun = 2019)
df21_agg2 <- df21_agg2 %>%
rename(KBLI = DISIC2...4,
TAX = INSEN21_sum,
output = OUTPUT21_sum,
TAX_SUM = TX21_sum,
abs = abs21_sum) %>%
mutate(TAXR = 1-TAX,
KBLI = as.character(KBLI),
tahun = 2021)
df22_agg2 <- df22_agg2 %>%
rename(KBLI = DISIC222,
TAX = INSEN22_sum,
output = OUTPUT22_sum,
TAX_SUM = TX22_sum,
abs = abs22_sum) %>%
mutate(TAXR = 1-TAX,
KBLI = as.character(KBLI),
tahun = 2022)
df_m2 <- bind_rows(
df10_agg2,
df11_agg2,
df12_agg2,
df13_agg2,
df14_agg2,
df15_agg2,
df17_agg2,
df18_agg2,
df19_agg2,
df21_agg2,
df22_agg2
) %>%
arrange(tahun,KBLI)
View(df_m2)
# insentif dan abs
library(dplyr)
df_m2 <- df_m2 %>%
group_by(KBLI) %>%
complete(tahun = 2010:2022) %>%
ungroup()
df_m2 <- df_m2 %>%
arrange(KBLI, tahun) %>%
group_by(KBLI) %>%
mutate(
across(
where(is.numeric) & !matches("tahun"),
~ifelse(
tahun %in% c(2016, 2020) & is.na(.),
dplyr::lead(.),
.
)
)
) %>%
ungroup()
View(df_m2)
# hhi
hhi_panel <- hhi_panel %>%
group_by(KBLI) %>%
complete(tahun = 2010:2022) %>%
ungroup()
hhi_panel <- hhi_panel %>%
arrange(KBLI, tahun) %>%
group_by(KBLI) %>%
mutate(
across(
where(is.numeric) & !matches("tahun"),
~ifelse(
tahun %in% c(2016, 2020) & is.na(.),
dplyr::lead(.),
.
)
)
) %>%
ungroup()
View(hhi_panel)
dpm2 <- df_m2%>%
full_join(df_spill, by = c("KBLI","tahun"))%>%
full_join(hhi_panel, by = c("KBLI","tahun"))
dpm2 <- dpm2 %>%
left_join(
dpm1 %>% select(KBLI, tahun, lnTFP_manual),
by = c("KBLI", "tahun")
)
View(dpm2)
dpm2$lnabs <-log(dpm2$abs)
var(dpm2$lnabs)
## [1] 0.2130347
#library(writexl)
#write_xlsx(df_res, path = "~/KULIAH/DRAFT/DATA RAW/DATA FIX/df_res.xlsx")
#impor data
#dpm2 <- read_excel("~/KULIAH/DRAFT/DATA RAW/dpm2.xlsx")
head(dpm2)
## # A tibble: 6 × 13
## KBLI tahun TAX_SUM output TAX abs TAXR hori Backw Forw HHI
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 10 2010 2266642222 1.57e11 0.0144 17685. 0.986 29.2 13.3 0.261 0.00810
## 2 10 2011 3187184807 1.92e11 0.0166 32719. 0.983 23.4 13.7 0.250 0.00639
## 3 10 2012 5389121334 2.23e11 0.0242 27320. 0.976 27.2 10.5 0.377 0.00514
## 4 10 2013 3565634966 2.95e11 0.0121 26199. 0.988 19.1 14.5 0.259 0.0191
## 5 10 2014 4065424818 3.25e11 0.0125 27600. 0.987 37.6 11.6 0.243 0.0307
## 6 10 2015 3991700322 3.49e11 0.0114 30173. 0.989 36.2 11.3 0.186 0.0215
## # ℹ 2 more variables: lnTFP_manual <dbl>, lnabs <dbl>
var(dpm2$lnTFP_manual)
## [1] 0.3930991
var(dpm2$hori)
## [1] 393.54
var(dpm2$Backw)
## [1] 26.66363
var(dpm2$Forw)
## [1] 6.746435
var(dpm2$TAX)
## [1] 0.001440251
var(dpm2$lnabs)
## [1] 0.2130347
var(dpm2$TAX_SUM)
## [1] 1.362906e+19
dpm2<-dpm2%>%
mutate(
lnTAX = log(TAX),
lnhori = log(hori),
lnforw = log(Forw+1),
lnbackw = log(Backw+1),
lnTAX_SUM = log(TAX_SUM),
lnTAXR = log(TAXR),
lnHHI = log(HHI)
)
View(dpm2)
head(dpm2)
## # A tibble: 6 × 20
## KBLI tahun TAX_SUM output TAX abs TAXR hori Backw Forw HHI
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 10 2010 2266642222 1.57e11 0.0144 17685. 0.986 29.2 13.3 0.261 0.00810
## 2 10 2011 3187184807 1.92e11 0.0166 32719. 0.983 23.4 13.7 0.250 0.00639
## 3 10 2012 5389121334 2.23e11 0.0242 27320. 0.976 27.2 10.5 0.377 0.00514
## 4 10 2013 3565634966 2.95e11 0.0121 26199. 0.988 19.1 14.5 0.259 0.0191
## 5 10 2014 4065424818 3.25e11 0.0125 27600. 0.987 37.6 11.6 0.243 0.0307
## 6 10 2015 3991700322 3.49e11 0.0114 30173. 0.989 36.2 11.3 0.186 0.0215
## # ℹ 9 more variables: lnTFP_manual <dbl>, lnabs <dbl>, lnTAX <dbl>,
## # lnhori <dbl>, lnforw <dbl>, lnbackw <dbl>, lnTAX_SUM <dbl>, lnTAXR <dbl>,
## # lnHHI <dbl>
library("plm")
cem2<-plm(lnTFP_manual ~ hori + Backw + Forw + hori*lnTAX + Backw*lnTAX + Forw*lnTAX + lnabs + HHI, data = dpm2, index = c("KBLI", "tahun"),
model = "pooling")
fem2<-plm(lnTFP_manual ~ hori + Backw + Forw + hori*lnTAX + Backw*lnTAX + Forw*lnTAX + lnabs + HHI, data = dpm2, index = c("KBLI", "tahun"),
model = "within",effect = "individual")
rem2<-plm(lnTFP_manual ~ hori + Backw + Forw + hori*lnTAX + Backw*lnTAX + Forw*lnTAX + lnabs + HHI, data = dpm2, index = c("KBLI", "tahun"),
model = "random",effect = "individual")
summary(cem2)
## Pooling Model
##
## Call:
## plm(formula = lnTFP_manual ~ hori + Backw + Forw + hori * lnTAX +
## Backw * lnTAX + Forw * lnTAX + lnabs + HHI, data = dpm2,
## model = "pooling", index = c("KBLI", "tahun"))
##
## Balanced Panel: n = 24, T = 13, N = 312
##
## Residuals:
## Min. 1st Qu. Median 3rd Qu. Max.
## -1.4570140 -0.2946098 -0.0082137 0.2761283 1.0343744
##
## Coefficients:
## Estimate Std. Error t-value Pr(>|t|)
## (Intercept) -9.5055197 0.5665024 -16.7793 < 2.2e-16 ***
## hori 0.0243576 0.0073090 3.3326 0.0009676 ***
## Backw -0.1273084 0.0302763 -4.2049 3.446e-05 ***
## Forw -0.0512291 0.0600498 -0.8531 0.3942735
## lnTAX -0.0829283 0.0498918 -1.6622 0.0975175 .
## lnabs 0.7768063 0.0555107 13.9938 < 2.2e-16 ***
## HHI 4.0011431 0.3400029 11.7680 < 2.2e-16 ***
## hori:lnTAX 0.0063234 0.0016103 3.9269 0.0001067 ***
## Backw:lnTAX -0.0258498 0.0071038 -3.6388 0.0003220 ***
## Forw:lnTAX -0.0148187 0.0137520 -1.0776 0.2820857
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Total Sum of Squares: 122.25
## Residual Sum of Squares: 47.689
## R-Squared: 0.60992
## Adj. R-Squared: 0.5983
## F-statistic: 52.467 on 9 and 302 DF, p-value: < 2.22e-16
summary(fem2)
## Oneway (individual) effect Within Model
##
## Call:
## plm(formula = lnTFP_manual ~ hori + Backw + Forw + hori * lnTAX +
## Backw * lnTAX + Forw * lnTAX + lnabs + HHI, data = dpm2,
## effect = "individual", model = "within", index = c("KBLI",
## "tahun"))
##
## Balanced Panel: n = 24, T = 13, N = 312
##
## Residuals:
## Min. 1st Qu. Median 3rd Qu. Max.
## -0.7336002 -0.1577700 -0.0013477 0.1328086 0.8166368
##
## Coefficients:
## Estimate Std. Error t-value Pr(>|t|)
## hori 0.0182915 0.0050097 3.6512 0.0003116 ***
## Backw -0.0351615 0.0207211 -1.6969 0.0908327 .
## Forw -0.0702532 0.0414065 -1.6967 0.0908743 .
## lnTAX -0.1345498 0.0387603 -3.4713 0.0006000 ***
## lnabs 0.3246117 0.0527888 6.1492 2.687e-09 ***
## HHI 1.3221129 0.3407468 3.8800 0.0001304 ***
## hori:lnTAX 0.0048420 0.0010781 4.4914 1.037e-05 ***
## Backw:lnTAX -0.0070371 0.0052734 -1.3345 0.1831405
## Forw:lnTAX -0.0152979 0.0095117 -1.6083 0.1088935
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Total Sum of Squares: 26.699
## Residual Sum of Squares: 16.738
## R-Squared: 0.37309
## Adj. R-Squared: 0.30118
## F-statistic: 18.4487 on 9 and 279 DF, p-value: < 2.22e-16
summary(rem2)
## Oneway (individual) effect Random Effect Model
## (Swamy-Arora's transformation)
##
## Call:
## plm(formula = lnTFP_manual ~ hori + Backw + Forw + hori * lnTAX +
## Backw * lnTAX + Forw * lnTAX + lnabs + HHI, data = dpm2,
## effect = "individual", model = "random", index = c("KBLI",
## "tahun"))
##
## Balanced Panel: n = 24, T = 13, N = 312
##
## Effects:
## var std.dev share
## idiosyncratic 0.05999 0.24494 0.586
## individual 0.04236 0.20583 0.414
## theta: 0.6866
##
## Residuals:
## Min. 1st Qu. Median 3rd Qu. Max.
## -0.66682 -0.16433 -0.02105 0.14319 0.96611
##
## Coefficients:
## Estimate Std. Error z-value Pr(>|z|)
## (Intercept) -5.8337393 0.5906091 -9.8775 < 2.2e-16 ***
## hori 0.0189173 0.0053735 3.5205 0.0004308 ***
## Backw -0.0467296 0.0223466 -2.0911 0.0365167 *
## Forw -0.0670067 0.0445082 -1.5055 0.1321986
## lnTAX -0.1279442 0.0408053 -3.1355 0.0017157 **
## lnabs 0.4246621 0.0527015 8.0579 7.763e-16 ***
## HHI 2.0234078 0.3390120 5.9685 2.394e-09 ***
## hori:lnTAX 0.0051386 0.0011658 4.4076 1.045e-05 ***
## Backw:lnTAX -0.0089240 0.0054841 -1.6272 0.1036855
## Forw:lnTAX -0.0165499 0.0102159 -1.6200 0.1052285
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Total Sum of Squares: 36.086
## Residual Sum of Squares: 21.677
## R-Squared: 0.39928
## Adj. R-Squared: 0.38138
## Chisq: 200.734 on 9 DF, p-value: < 2.22e-16
#Uji Chow
pooltest(cem2,fem2) #tolak H0 FEM lebih baik
##
## F statistic
##
## data: lnTFP_manual ~ hori + Backw + Forw + hori * lnTAX + Backw * lnTAX + ...
## F = 22.43, df1 = 23, df2 = 279, p-value < 2.2e-16
## alternative hypothesis: unstability
#Uji Hausman
phtest(fem2,rem2) #Tolak H0 FEM lebih baik
##
## Hausman Test
##
## data: lnTFP_manual ~ hori + Backw + Forw + hori * lnTAX + Backw * lnTAX + ...
## chisq = 38.561, df = 9, p-value = 1.382e-05
## alternative hypothesis: one model is inconsistent
#Uji LM
library(lmtest)
bptest(fem2) #Tolak H0 heteroskedas, lanjut uji lambdaLM
##
## studentized Breusch-Pagan test
##
## data: fem2
## BP = 55.262, df = 9, p-value = 1.086e-08
#Uji LambdaLM
pcdtest(fem2, test = "lm") #Tolak H0 ada cross section dependence, metode SUR
##
## Breusch-Pagan LM test for cross-sectional dependence in panels
##
## data: lnTFP_manual ~ hori + Backw + Forw + hori * lnTAX + Backw * lnTAX + Forw * lnTAX + lnabs + HHI
## chisq = 403.87, df = 276, p-value = 7.839e-07
## alternative hypothesis: cross-sectional dependence
m2<-pggls(lnTFP_manual ~ hori + Backw + Forw + hori*lnTAX + Backw*lnTAX + Forw*lnTAX + lnabs + HHI, data = dpm2, index = c("KBLI", "tahun"),
model = "within",effect = "individual")
summary(m2)
## Oneway (individual) effect Within FGLS model
##
## Call:
## pggls(formula = lnTFP_manual ~ hori + Backw + Forw + hori * lnTAX +
## Backw * lnTAX + Forw * lnTAX + lnabs + HHI, data = dpm2,
## effect = "individual", model = "within", index = c("KBLI",
## "tahun"))
##
## Balanced Panel: n = 24, T = 13, N = 312
##
## Residuals:
## Min. 1st Qu. Median 3rd Qu. Max.
## -0.85444482 -0.14642699 -0.01131863 0.12786252 0.80969122
##
## Coefficients:
## Estimate Std. Error z-value Pr(>|z|)
## hori 0.01457590 0.00395388 3.6865 0.0002274 ***
## Backw -0.03258117 0.02057029 -1.5839 0.1132177
## Forw -0.09907716 0.03132505 -3.1629 0.0015622 **
## lnTAX -0.09638043 0.03416836 -2.8208 0.0047911 **
## lnabs 0.24594897 0.05002177 4.9168 8.795e-07 ***
## HHI 1.34241323 0.30249113 4.4379 9.086e-06 ***
## hori:lnTAX 0.00406462 0.00084501 4.8101 1.508e-06 ***
## Backw:lnTAX -0.00564149 0.00484767 -1.1638 0.2445240
## Forw:lnTAX -0.01908128 0.00694303 -2.7483 0.0059912 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Total Sum of Squares: 122.25
## Residual Sum of Squares: 16.993
## Multiple R-squared: 0.861
# UJI t DAN UJI F MODEL PGLS/FGLS
# Koefisien
beta <- coef(m2)
V1 <- m2$vcov
# Standard error
se <- sqrt(diag(V1))
# Jumlah observasi
N <- nrow(dpm2)
# Jumlah individu
n <- length(unique(dpm2$KBLI))
# Jumlah variabel independen
k <- length(beta)
# Derajat bebas
df <- N - n - k
# Taraf signifikansi
alpha <- 0.05
df
## [1] 279
# UJI PARSIAL (t)
t_hitung <- beta / se
t_tabel <- qt(
1 - alpha/2,
df
)
p_value_t <- 2 * pt(
-abs(t_hitung),
df
)
hasil_t <- data.frame(
Variabel = names(beta),
Koefisien = beta,
Std_Error = se,
t_hitung = t_hitung,
t_tabel = t_tabel,
p_value = p_value_t
)
print(hasil_t)
## Variabel Koefisien Std_Error t_hitung t_tabel
## hori hori 0.014575896 0.0039538786 3.686480 1.968503
## Backw Backw -0.032581170 0.0205702899 -1.583895 1.968503
## Forw Forw -0.099077159 0.0313250459 -3.162874 1.968503
## lnTAX lnTAX -0.096380426 0.0341683608 -2.820751 1.968503
## lnabs lnabs 0.245948970 0.0500217746 4.916838 1.968503
## HHI HHI 1.342413231 0.3024911306 4.437860 1.968503
## hori:lnTAX hori:lnTAX 0.004064620 0.0008450143 4.810120 1.968503
## Backw:lnTAX Backw:lnTAX -0.005641494 0.0048476716 -1.163753 1.968503
## Forw:lnTAX Forw:lnTAX -0.019081278 0.0069430285 -2.748264 1.968503
## p_value
## hori 2.731834e-04
## Backw 1.143505e-01
## Forw 1.734663e-03
## lnTAX 5.134982e-03
## lnabs 1.503501e-06
## HHI 1.309467e-05
## hori:lnTAX 2.471765e-06
## Backw:lnTAX 2.455182e-01
## Forw:lnTAX 6.381768e-03
# UJI SIMULTAN (F)
V1 <- m2$vcov
F_hitung <- as.numeric(
t(beta) %*% solve(V1) %*% beta / k
)
F_tabel <- qf(
1 - alpha,
df1 = k,
df2 = df
)
p_value_F <- pf(
F_hitung,
df1 = k,
df2 = df,
lower.tail = FALSE
)
hasil_F <- data.frame(
F_hitung = F_hitung,
F_tabel = F_tabel,
df1 = k,
df2 = df,
p_value = p_value_F
)
print(hasil_F)
## F_hitung F_tabel df1 df2 p_value
## 1 13.67026 1.91352 9 279 3.605845e-18
#adj rsquare
n <- length(residuals(m2)) # jumlah observasi
k <- length(coef(m2)) # jumlah variabel independen (tanpa intersep)
ssr <- sum(residuals(m2)^2)
ssr
## [1] 16.99303
y_actual <- model.frame(m2)[, 1]
sst <- sum((y_actual - mean(y_actual))^2)
sst
## [1] 122.2538
r2 <- 1 - ssr/sst
adj_r2 <- 1 - (1 - r2) * (n - 1) / (n - k - 1)
adj_r2
## [1] 0.8568597
#konstanta global
konst <- fixef(m2)
k<- mean(konst)
print(k)
## [1] -3.686345
konst
## 10 11 12 13 14 15 16 17 18 19
## -4.4348 -3.2540 -3.5533 -4.4341 -4.1739 -4.1199 -4.2572 -3.8648 -3.3789 -3.0851
## 20 21 22 23 24 25 26 27 28 29
## -3.5144 -3.2245 -4.2773 -3.6841 -3.5469 -3.9103 -3.7014 -3.2214 -3.1230 -3.1792
## 30 31 32 33
## -3.3552 -3.9872 -4.0646 -3.1270
ef<-konst-k
ef
## 10 11 12 13 14 15 16
## -0.7484277 0.4323939 0.1330752 -0.7477498 -0.4875670 -0.4335732 -0.5708987
## 17 18 19 20 21 22 23
## -0.1784964 0.3074288 0.6012520 0.1719654 0.4618536 -0.5909146 0.0022474
## 24 25 26 27 28 29 30
## 0.1394238 -0.2239202 -0.0150583 0.4649732 0.5633948 0.5071672 0.3311388
## 31 32 33
## -0.3008366 -0.3782449 0.5593732
fixef(m2)
## 10 11 12 13 14 15 16 17 18 19
## -4.4348 -3.2540 -3.5533 -4.4341 -4.1739 -4.1199 -4.2572 -3.8648 -3.3789 -3.0851
## 20 21 22 23 24 25 26 27 28 29
## -3.5144 -3.2245 -4.2773 -3.6841 -3.5469 -3.9103 -3.7014 -3.2214 -3.1230 -3.1792
## 30 31 32 33
## -3.3552 -3.9872 -4.0646 -3.1270
library(car)
library(tseries)
res1 <- residuals(m2)
res2 <- residuals (cem2)
#Multikol
m2_lm <- lm(lnTFP_manual ~ hori + Backw + Forw + hori*lnTAX + Backw*lnTAX + Forw*lnTAX + lnabs + HHI, data = dpm2) #<10, terpenuhi
attr(terms(m2_lm), "term.labels")
## [1] "hori" "Backw" "Forw" "lnTAX" "lnabs"
## [6] "HHI" "hori:lnTAX" "Backw:lnTAX" "Forw:lnTAX"
vif(m2_lm) #<10 tidak ada multikol
## there are higher-order terms (interactions) in this model
## consider setting type = 'predictor'; see ?vif
## hori Backw Forw lnTAX lnabs HHI
## 41.405297 48.137007 47.912594 4.173411 1.292874 1.132065
## hori:lnTAX Backw:lnTAX Forw:lnTAX
## 42.078698 47.513813 47.210296
vif(m2_lm, type = "predictor")
## GVIFs computed for predictors
## GVIF Df GVIF^(1/(2*Df)) Interacts With
## hori 5.278357 3 1.319521 lnTAX
## Backw 4.103246 3 1.265284 lnTAX
## Forw 4.639857 3 1.291469 lnTAX
## lnTAX 1.453249 7 1.027060 hori, Backw, Forw
## lnabs 1.292874 1 1.137046 --
## HHI 1.132065 1 1.063985 --
## Other Predictors
## hori Backw, Forw, lnabs, HHI
## Backw hori, Forw, lnabs, HHI
## Forw hori, Backw, lnabs, HHI
## lnTAX lnabs, HHI
## lnabs hori, Backw, Forw, lnTAX, HHI
## HHI hori, Backw, Forw, lnTAX, lnabs
#Normalitas
jarque.bera.test(residuals(cem2))
##
## Jarque Bera Test
##
## data: residuals(cem2)
## X-squared = 0.1877, df = 2, p-value = 0.9104
jarque.bera.test(res1) # tolak h0, resid tidak berdistribusi normal
##
## Jarque Bera Test
##
## data: res1
## X-squared = 14.675, df = 2, p-value = 0.0006508
jarque.bera.test(res2)
##
## Jarque Bera Test
##
## data: res2
## X-squared = 0.1877, df = 2, p-value = 0.9104
library(moments)
skewness(dpm2$hori)
## [1] 0.7971812
skewness(dpm2$Backw)
## [1] 1.823012
skewness(dpm2$Forw)
## [1] 0.9899494
skewness(dpm2$TAX)
## [1] 7.334878
skewness(dpm2$HHI)
## [1] 3.212881
skewness(dpm2$lnabs)
## [1] -0.4775803
df_res <- data.frame(residual_fgls = res1)
df_res$residual_fgls <- res1
df_res$residual_cem <-res2
plot(fitted(m2), resid(m2),
xlab = "Nilai Prediksi",
ylab = "Residual",
main = "Scatter Plot Residual FGLS")
abline(h = 0, lty = 2)
fit <- predict(cem2)
res <- residuals(cem2)
graphics::plot(
as.numeric(predict(cem2)),
as.numeric(residuals(cem2)),
xlab = "Fitted Values",
ylab = "Residuals",
main = "Scatter Plot Residual Pooled"
)
abline(h = 0, lty = 2)