library("readxl")
library(tidyverse)
library("ggpubr")
library("Hmisc")
library(corrplot)
library(car)
library(psych)
library(sandwich)
library(lmtest)
library(stargazer)
library(car)
spark.1709 <- read_excel("/Users/nikolajdolgih/Desktop/Эконометрика/Проект/SPARK_1709.xlsx")
spark.1714 <- read_excel("/Users/nikolajdolgih/Desktop/Эконометрика/Проект/SPARK_1714.xlsx")
spark.1554 <- read_excel("/Users/nikolajdolgih/Desktop/Эконометрика/Проект/SPARK_1554.xlsx")
spark.1548 <- read_excel("/Users/nikolajdolgih/Desktop/Эконометрика/Проект/SPARK_1548.xlsx")
spark.1541 <- read_excel("/Users/nikolajdolgih/Desktop/Эконометрика/Проект/SPARK_1541.xlsx")
#
spark.1709 = spark.1709[2:3698,]
colnames(spark.1709) = as.character(as.vector(spark.1709[1,]))
spark.1709 = spark.1709[2:3697,]
#
spark.1714 = spark.1714[2:3698,]
colnames(spark.1714) = as.character(as.vector(spark.1714[1,]))
spark.1714 = spark.1714[2:3697,]
#
spark.1554 = spark.1554[2:3698,]
colnames(spark.1554) = as.character(as.vector(spark.1554[1,]))
spark.1554 = spark.1554[2:3697,]
#
spark.1548 = spark.1548[2:3698,]
colnames(spark.1548) = as.character(as.vector(spark.1548[1,]))
spark.1548 = spark.1548[2:3697,]
#
spark.1541 = spark.1541[2:3718,]
colnames(spark.1541) = as.character(as.vector(spark.1541[1,]))
spark.1541 = spark.1541[2:3717,]
#
colnames(spark.1714)[1:2] = c("a", "b")
colnames(spark.1714)[4:5] = c("c", "d")
spark.1714 = spark.1714 %>% select(-a, -b, -c, -d)
#
colnames(spark.1554)[1:2] = c("a", "b")
colnames(spark.1554)[4:5] = c("c", "d")
spark.1554 = spark.1554 %>% select(-a, -b, -c, -d)
#
colnames(spark.1548)[1:2] = c("a", "b")
colnames(spark.1548)[4:5] = c("c", "d")
spark.1548 = spark.1548 %>% select(-a, -b, -c, -d)
#
colnames(spark.1541)[1:2] = c("a", "b")
colnames(spark.1541)[5] = c("c")
colnames(spark.1541)[7] = c("d")
spark.1541 = spark.1541 %>% select(-a, -b, -c, -d)
#
Spark = inner_join(spark.1709, spark.1714, by="Регистрационный номер")
Spark = inner_join(Spark, spark.1554, by="Регистрационный номер")
Spark = inner_join(Spark, spark.1548, by="Регистрационный номер")
Spark = inner_join(Spark, spark.1541, by="Регистрационный номер")
Spark = Spark %>% select("2020, Рентабельность активов (ROA), %", "2020, Уставный капитал , RUB", "2020, Основные средства , RUB" , "Возраст компании, лет", "Размер компании", "2020, Среднесписочная численность работников", "2020, Коэффициент текущей ликвидности, %", "2020, Коэффициент соотношения заемных и собственных средств, %", "2020, Доля краткосрочной в общем объеме задолженности, %")
colnames(Spark) = c("ROA", "Capital", "Pr.means", "Age", "Size", "Avg.empl", "C.R", "KSIZ", "Short.debt")
Spark$ROA = as.numeric(Spark$ROA)
Spark$Capital = as.numeric(Spark$Capital)
Spark$Pr.means = as.numeric(Spark$Pr.means)
Spark$Age = as.numeric(Spark$Age)
Spark$Avg.empl[Spark$Avg.empl == "1 034"] = "1034"
Spark$Avg.empl[Spark$Avg.empl == "1 892"] = "1892"
Spark$Avg.empl = as.numeric(Spark$Avg.empl)
Spark$C.R = as.numeric(Spark$C.R)
Spark$KSIZ = as.numeric(Spark$KSIZ)
Spark$Short.debt = as.numeric(Spark$Short.debt)
Spark$Capital.log = log(Spark$Capital)
Spark$Pr.means.log = log(Spark$Pr.means)
Spark$Avg.empl.log = log(Spark$Avg.empl)
Number = Spark %>% group_by(Size) %>% summarise(number = n())
Number
## # A tibble: 4 × 2
## Size number
## <chr> <int>
## 1 Крупные предприятия 3
## 2 Малые предприятия 139
## 3 Микропредприятия 3546
## 4 Средние предприятия 8
Spark = Spark %>% filter(Size != "Крупные предприятия")
Spark$Size = as.factor(Spark$Size)
# Shapiro-Wilk normality test for ROA
shapiro.test(Spark$ROA) # => p < 2.2e-16
# Shapiro-Wilk normality test for Capital.log
shapiro.test(Spark$Capital.log) # => p < 2.2e-16
# Shapiro-Wilk normality test for Pr.means
shapiro.test(Spark$Pr.means.log) # => p = 0.005059
# Shapiro-Wilk normality test for Age
shapiro.test(Spark$Age) # => p = 3.494e-09
# Shapiro-Wilk normality test for Avg.empl
shapiro.test(Spark$Avg.empl.log) # => p < 2.2e-16
# Shapiro-Wilk normality test for C.R
shapiro.test(Spark$C.R) # => p < 2.2e-16
# Shapiro-Wilk normality test for KSIZ
shapiro.test(Spark$KSIZ) # => p < 2.2e-16
# Shapiro-Wilk normality test for Short.debt
shapiro.test(Spark$Short.debt) # => p < 2.2e-16
Развед анализ
SparkROA = Spark %>% filter(ROA<(quantile(Spark$ROA, 0.75)+1.5*(quantile(Spark$ROA, 0.75) - quantile(Spark$ROA, 0.25))))
ggplot(data = SparkROA, aes(x = Size, y = ROA, color = Size))+
scale_color_manual(values=c("#76D6FF", "#3A3BFF","#191970"), breaks=c("Микропредприятия", "Малые предприятия", "Средние предприятия"), labels=c("Микропредприятия", "Малые предприятия", "Средние предприятия"))+
geom_boxplot()+
labs(title = "Диаграмма распределения ROA для каждого Size")+
labs(color = "Размер")+
xlab("Размер фирмы") +
ylab("ROA") +
xlim("Микропредприятия", "Малые предприятия", "Средние предприятия")+
theme_minimal()+
theme(axis.text.x = element_text(angle = 30, hjust= 1))

ggplot(data = SparkROA, aes(x = Capital.log, y = ROA))+
geom_point(color = "#191970")+
geom_smooth(method = "lm",color = "#76D6FF", formula = y ~ poly(x, degree = 1))+
xlab("Уставный капитал, руб. (логарифмическая шкала)") +
ylab("ROA") +
theme_linedraw()

res <-cor.test(SparkROA$ROA, SparkROA$Capital.log, method = "kendall")
res
##
## Kendall's rank correlation tau
##
## data: SparkROA$ROA and SparkROA$Capital.log
## z = -5.8942, p-value = 3.764e-09
## alternative hypothesis: true tau is not equal to 0
## sample estimates:
## tau
## -0.1232796
ggplot(data = SparkROA, aes(x = Pr.means.log, y = ROA))+
geom_point(color = "#191970")+
geom_smooth(method = "lm",color = "#76D6FF", formula = y ~ poly(x, degree = 1))+
xlab("Основные средства, руб. (логарифмическая шкала)") +
ylab("ROA") +
theme_linedraw()

res <-cor.test(SparkROA$ROA, SparkROA$Pr.means.log, method = "kendall")
res
##
## Kendall's rank correlation tau
##
## data: SparkROA$ROA and SparkROA$Pr.means.log
## z = -11.874, p-value < 2.2e-16
## alternative hypothesis: true tau is not equal to 0
## sample estimates:
## tau
## -0.1784444
ggplot(data = SparkROA, aes(x = Avg.empl.log, y = ROA))+
geom_point(color = "#191970")+
geom_smooth(method = "lm",color = "#76D6FF", formula = y ~ poly(x, degree = 1))+
xlab("Среднесписочная численность работников, чел. (логарифмическая шкала)") +
ylab("ROA") +
theme_linedraw()

res <-cor.test(SparkROA$ROA, SparkROA$Avg.empl.log, method = "kendall")
res
##
## Kendall's rank correlation tau
##
## data: SparkROA$ROA and SparkROA$Avg.empl.log
## z = -3.4778, p-value = 0.0005055
## alternative hypothesis: true tau is not equal to 0
## sample estimates:
## tau
## -0.04398283
ggplot(data = SparkROA, aes(x = Age, y = ROA))+
geom_point(color = "#191970")+
geom_smooth(method = "lm",color = "#76D6FF", formula = y ~ poly(x, degree = 1))+
xlab("Возраст компании, лет.") +
ylab("ROA") +
theme_linedraw()

res <-cor.test(SparkROA$ROA, SparkROA$Age, method = "kendall")
res
##
## Kendall's rank correlation tau
##
## data: SparkROA$ROA and SparkROA$Age
## z = -12.689, p-value < 2.2e-16
## alternative hypothesis: true tau is not equal to 0
## sample estimates:
## tau
## -0.1481319
SparkROAKSIZ = SparkROA %>% filter(KSIZ<(quantile(na.omit(Spark$KSIZ), 0.75)+1.5*(quantile(na.omit(Spark$KSIZ), 0.75) - quantile(na.omit(Spark$KSIZ), 0.25))))
ggplot(data = SparkROAKSIZ, aes(x = KSIZ, y = ROA))+
geom_point(color = "#191970")+
geom_smooth(method = "lm",color = "#76D6FF", formula = y ~ poly(x, degree = 1))+
xlab("Коэффициент соотношения заемных и собственных средств") +
ylab("ROA") +
theme_linedraw()

res <-cor.test(SparkROAKSIZ$ROA, SparkROAKSIZ$KSIZ, method = "kendall")
res
##
## Kendall's rank correlation tau
##
## data: SparkROAKSIZ$ROA and SparkROAKSIZ$KSIZ
## z = -2.0854, p-value = 0.03703
## alternative hypothesis: true tau is not equal to 0
## sample estimates:
## tau
## -0.02636141
SparkROAC.R = SparkROA %>% filter(C.R<(quantile(Spark$C.R, 0.75)+1.5*(quantile(Spark$C.R, 0.75) - quantile(Spark$C.R, 0.25))))
ggplot(data = SparkROAC.R, aes(x = C.R, y = ROA))+
geom_point(color = "#191970")+
geom_smooth(method = "lm",color = "#76D6FF", formula = y ~ poly(x, degree = 1))+
xlab("Коэффициент текущей ликвидности") +
ylab("ROA") +
theme_linedraw()

res <-cor.test(SparkROAC.R$ROA, SparkROAC.R$C.R, method = "kendall")
res
##
## Kendall's rank correlation tau
##
## data: SparkROAC.R$ROA and SparkROAC.R$C.R
## z = 12.472, p-value < 2.2e-16
## alternative hypothesis: true tau is not equal to 0
## sample estimates:
## tau
## 0.1539384
SparkROAShort.debt = SparkROA %>% filter(Short.debt>=0 & Short.debt<=1)
ggplot(data = SparkROAShort.debt, aes(x = Short.debt, y = ROA))+
geom_point(color = "#191970")+
geom_smooth(method = "lm",color = "#76D6FF", formula = y ~ poly(x, degree = 1))+
xlab("Доля краткосрочной в объеме задолженности") +
ylab("ROA") +
theme_linedraw()

res <-cor.test(SparkROAShort.debt$ROA, SparkROAShort.debt$Short.debt, method = "kendall")
res
##
## Kendall's rank correlation tau
##
## data: SparkROAShort.debt$ROA and SparkROAShort.debt$Short.debt
## z = 6.7522, p-value = 1.457e-11
## alternative hypothesis: true tau is not equal to 0
## sample estimates:
## tau
## 0.1343579
Spark = Spark %>% filter(
ROA<(quantile(Spark$ROA, 0.75)+1.5*(quantile(Spark$ROA, 0.75) - quantile(Spark$ROA, 0.25))) &
KSIZ<(quantile(na.omit(Spark$KSIZ), 0.75)+1.5*(quantile(na.omit(Spark$KSIZ), 0.75) - quantile(na.omit(Spark$KSIZ), 0.25))) &
C.R<(quantile(Spark$C.R, 0.75)+1.5*(quantile(Spark$C.R, 0.75) - quantile(Spark$C.R, 0.25))) &
Short.debt>=0 & Short.debt<=1)
Spark = Spark %>% na.omit()
res<-rcorr(as.matrix(Spark %>% select(-ROA, -Age, -Capital, -Pr.means, -Avg.empl, -Size)), type = "spearman")
diag(res$P)=0
col <- colorRampPalette(c("#BB4444", "#EE9988", "#FFFFFF", "#77AADD", "#4477AA"))
corrplot(res$r, method="color", col=col(200),
type="upper", order="hclust",
addCoef.col = "black", # Add coefficient of correlation
tl.col="black", tl.srt=45, #Text label color and rotation
# Combine with significance
p.mat = res$P, sig.level = 0.05,
# hide correlation coefficient on the principal diagonal
diag=FALSE
)

dt = as.data.frame(describe(Spark %>% select(-Size, -Capital, -Pr.means, -Avg.empl)))
dt = round(dt, 2)
dt = dt %>% mutate(name = rownames(dt))
dt1 = data.frame(name = rownames(dt))
dt1 = inner_join(dt1, dt, by = "name")
DT::datatable(dt1, rownames=F, options = list(scrollX = T))
dt = as.data.frame(describe(Spark %>% select(Capital,Capital.log, Pr.means,Pr.means.log, Avg.empl, Avg.empl.log)))
dt = round(dt, 2)
dt = dt %>% mutate(name = rownames(dt))
dt1 = data.frame(name = rownames(dt))
dt1 = inner_join(dt1, dt, by = "name")
DT::datatable(dt1, rownames=F, options = list(scrollX = T))
Spark = Spark %>% select(-Capital, -Pr.means, -Avg.empl)
Регрессионный анализ
# оценка МНК, функция lm()
M1 <- lm(ROA ~ 1 + Capital.log + Age + C.R + KSIZ + Short.debt, data=Spark)
# оценка стандартных ошибок,
# робастная формула
cov_M1 <- vcovHC(M1, type = "HC0")
se_M1 <- sqrt(diag(cov_M1))
coeftest(M1, df = Inf, vcov. = vcovHC, type = "HC0")
##
## z test of coefficients:
##
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 2.0694e-01 3.9306e-02 5.2647 1.404e-07 ***
## Capital.log -4.5231e-03 2.5328e-03 -1.7858 0.074134 .
## Age -3.3616e-03 1.2299e-03 -2.7334 0.006269 **
## C.R -7.1559e-05 3.2328e-03 -0.0221 0.982340
## KSIZ -5.4868e-03 6.0160e-03 -0.9120 0.361751
## Short.debt 6.1882e-02 2.3821e-02 2.5978 0.009383 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# оценка МНК, функция lm()
M2 <- lm(ROA ~ 1 + Pr.means.log + Age + C.R + KSIZ + Short.debt, data=Spark)
# оценка стандартных ошибок,
# робастная формула
cov_M2 <- vcovHC(M2, type = "HC0")
se_M2 <- sqrt(diag(cov_M2))
coeftest(M2, df = Inf, vcov. = vcovHC, type = "HC0")
##
## z test of coefficients:
##
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 0.4983628 0.0819435 6.0818 1.188e-09 ***
## Pr.means.log -0.0209016 0.0044799 -4.6656 3.077e-06 ***
## Age -0.0016805 0.0012170 -1.3808 0.1673
## C.R -0.0033733 0.0030693 -1.0990 0.2718
## KSIZ -0.0089943 0.0059455 -1.5128 0.1303
## Short.debt 0.0264481 0.0234220 1.1292 0.2588
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# оценка МНК, функция lm()
M3 <- lm(ROA ~ 1 + Avg.empl.log + Age + C.R + KSIZ + Short.debt, data=Spark)
# оценка стандартных ошибок,
# робастная формула
cov_M3 <- vcovHC(M3, type = "HC0")
se_M3 <- sqrt(diag(cov_M3))
coeftest(M3, df = Inf, vcov. = vcovHC, type = "HC0")
##
## z test of coefficients:
##
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 0.15274229 0.03445263 4.4334 9.276e-06 ***
## Avg.empl.log 0.00090198 0.00646269 0.1396 0.889002
## Age -0.00383495 0.00125700 -3.0509 0.002282 **
## C.R 0.00018341 0.00330040 0.0556 0.955684
## KSIZ -0.00441389 0.00625778 -0.7053 0.480596
## Short.debt 0.06544583 0.02421371 2.7028 0.006875 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# оценка МНК, функция lm()
M4 <- lm(ROA ~ 1 + Size + Age + C.R + KSIZ + Short.debt, data=Spark)
# оценка стандартных ошибок,
# робастная формула
cov_M4 <- vcovHC(M4, type = "HC0")
se_M4 <- sqrt(diag(cov_M4))
coeftest(M4, df = Inf, vcov. = vcovHC, type = "HC0")
##
## z test of coefficients:
##
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 0.15847413 0.03778160 4.1945 2.735e-05 ***
## SizeМикропредприятия -0.00328729 0.02447510 -0.1343 0.893156
## SizeСредние предприятия 0.03578362 0.03692421 0.9691 0.332490
## Age -0.00380106 0.00124824 -3.0451 0.002326 **
## C.R 0.00011616 0.00335552 0.0346 0.972386
## KSIZ -0.00480039 0.00625919 -0.7669 0.443120
## Short.debt 0.06472441 0.02453205 2.6384 0.008331 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
stargazer(M1, M2, M3, M4,
se = list(se_M1, se_M2, se_M3, se_M4),
title = "Regression results",
keep.stat = "n",
notes = "Robust standard errors in parentheses",
type = 'text')
##
## Regression results
## ================================================================
## Dependent variable:
## ----------------------------------------
## ROA
## (1) (2) (3) (4)
## ----------------------------------------------------------------
## Capital.log -0.005*
## (0.003)
##
## Pr.means.log -0.021***
## (0.004)
##
## Avg.empl.log 0.001
## (0.006)
##
## SizeМикропредприятия -0.003
## (0.024)
##
## SizeСредние предприятия 0.036
## (0.037)
##
## Age -0.003*** -0.002 -0.004*** -0.004***
## (0.001) (0.001) (0.001) (0.001)
##
## C.R -0.0001 -0.003 0.0002 0.0001
## (0.003) (0.003) (0.003) (0.003)
##
## KSIZ -0.005 -0.009 -0.004 -0.005
## (0.006) (0.006) (0.006) (0.006)
##
## Short.debt 0.062*** 0.026 0.065*** 0.065***
## (0.024) (0.023) (0.024) (0.025)
##
## Constant 0.207*** 0.498*** 0.153*** 0.158***
## (0.039) (0.082) (0.034) (0.038)
##
## ----------------------------------------------------------------
## Observations 284 284 284 284
## ================================================================
## Note: *p<0.1; **p<0.05; ***p<0.01
## Robust standard errors in parentheses
t1 <- abs(coef(M1)["Capital.log"]/se_M1[2])
Pv1 <- 1-pnorm(t1) #односторонняя
cat("p-value:", Pv1)
## p-value: 0.03706721
t2 <- abs(coef(M2)["Pr.means.log"]/se_M2[2])
Pv2 <- 1-pnorm(t2) #односторонняя
cat("p-value:", Pv2)
## p-value: 1.53859e-06
t3 <- abs(coef(M3)["Avg.empl.log"]/se_M3[2])
Pv3 <- 1-pnorm(t3) #односторонняя
cat("p-value:", Pv3)
## p-value: 0.4445012
car::linearHypothesis(M4, c("SizeМикропредприятия = 0", "SizeСредние предприятия = 0"), test = "Chisq", white.adjust = "hc0")
## Linear hypothesis test
##
## Hypothesis:
## SizeМикропредприятия = 0
## SizeСредние предприятия = 0
##
## Model 1: restricted model
## Model 2: ROA ~ 1 + Size + Age + C.R + KSIZ + Short.debt
##
## Note: Coefficient covariance matrix supplied.
##
## Res.Df Df Chisq Pr(>Chisq)
## 1 279
## 2 277 2 1.6287 0.4429
# оценка МНК, функция lm()
M_1 <- lm(ROA ~ 1 + Capital.log + Size + Age + Size*Age + KSIZ + Short.debt + KSIZ*Short.debt, data=Spark)
# оценка стандартных ошибок,
# робастная формула
cov_M_1 <- vcovHC(M_1, type = "HC0")
se_M_1 <- sqrt(diag(cov_M_1))
coeftest(M_1, df = Inf, vcov. = vcovHC, type = "HC0")
##
## z test of coefficients:
##
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 0.19251267 0.07389578 2.6052 0.009182 **
## Capital.log -0.00530076 0.00263756 -2.0097 0.044461 *
## SizeМикропредприятия 0.04817629 0.06153001 0.7830 0.433643
## SizeСредние предприятия 0.03014053 0.06618542 0.4554 0.648825
## Age 0.00034355 0.00260440 0.1319 0.895054
## KSIZ -0.02140544 0.00963685 -2.2212 0.026337 *
## Short.debt 0.03453725 0.03648260 0.9467 0.343803
## SizeМикропредприятия:Age -0.00410198 0.00297367 -1.3794 0.167761
## SizeСредние предприятия:Age 0.00166562 0.00424395 0.3925 0.694711
## KSIZ:Short.debt 0.02238829 0.01441136 1.5535 0.120300
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# оценка МНК, функция lm()
M_2 <- lm(ROA ~ 1 + Pr.means.log + Size + Age + Size*Age + KSIZ + Short.debt + KSIZ*Short.debt, data=Spark)
# оценка стандартных ошибок,
# робастная формула
cov_M_2 <- vcovHC(M_2, type = "HC0")
se_M_2 <- sqrt(diag(cov_M_2))
coeftest(M_2, df = Inf, vcov. = vcovHC, type = "HC0")
##
## z test of coefficients:
##
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 0.5274002 0.1039607 5.0731 3.914e-07 ***
## Pr.means.log -0.0235233 0.0047874 -4.9136 8.943e-07 ***
## SizeМикропредприятия 0.0098333 0.0539707 0.1822 0.85543
## SizeСредние предприятия 0.0537822 0.0575901 0.9339 0.35037
## Age 0.0022224 0.0023572 0.9428 0.34578
## KSIZ -0.0196835 0.0091541 -2.1502 0.03154 *
## Short.debt 0.0106984 0.0348690 0.3068 0.75898
## SizeМикропредприятия:Age -0.0042639 0.0027110 -1.5729 0.11575
## SizeСредние предприятия:Age 0.0020222 0.0037791 0.5351 0.59258
## KSIZ:Short.debt 0.0163368 0.0134847 1.2115 0.22570
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# оценка МНК, функция lm()
M_3 <- lm(ROA ~ 1 + Avg.empl.log + Size + Age + Size*Age + KSIZ + Short.debt + KSIZ*Short.debt, data=Spark)
# оценка стандартных ошибок,
# робастная формула
cov_M_3 <- vcovHC(M_3, type = "HC0")
se_M_3 <- sqrt(diag(cov_M_3))
coeftest(M_3, df = Inf, vcov. = vcovHC, type = "HC0")
##
## z test of coefficients:
##
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 0.11834428 0.06985227 1.6942 0.09023 .
## Avg.empl.log 0.00061192 0.00805879 0.0759 0.93947
## SizeМикропредприятия 0.06148884 0.06533690 0.9411 0.34665
## SizeСредние предприятия 0.01291107 0.07563239 0.1707 0.86445
## Age -0.00034320 0.00271535 -0.1264 0.89942
## KSIZ -0.01901291 0.00971391 -1.9573 0.05031 .
## Short.debt 0.03910844 0.03710459 1.0540 0.29188
## SizeМикропредприятия:Age -0.00388741 0.00305154 -1.2739 0.20269
## SizeСредние предприятия:Age 0.00481913 0.00470523 1.0242 0.30574
## KSIZ:Short.debt 0.02118212 0.01494095 1.4177 0.15627
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
stargazer(M_1, M_2, M_3,
se = list(se_M_1, se_M_2, se_M_3),
title = "Regression results",
keep.stat = "n",
notes = "Robust standard errors in parentheses",
type = 'text')
##
## Regression results
## ===================================================================
## Dependent variable:
## ---------------------------------------
## ROA
## (1) (2) (3)
## -------------------------------------------------------------------
## Capital.log -0.005**
## (0.003)
##
## Pr.means.log -0.024***
## (0.005)
##
## Avg.empl.log 0.001
## (0.008)
##
## SizeМикропредприятия 0.048 0.010 0.061
## (0.062) (0.054) (0.065)
##
## SizeСредние предприятия 0.030 0.054 0.013
## (0.066) (0.058) (0.076)
##
## Age 0.0003 0.002 -0.0003
## (0.003) (0.002) (0.003)
##
## KSIZ -0.021** -0.020** -0.019*
## (0.010) (0.009) (0.010)
##
## Short.debt 0.035 0.011 0.039
## (0.036) (0.035) (0.037)
##
## SizeМикропредприятия:Age -0.004 -0.004 -0.004
## (0.003) (0.003) (0.003)
##
## SizeСредние предприятия:Age 0.002 0.002 0.005
## (0.004) (0.004) (0.005)
##
## KSIZ:Short.debt 0.022 0.016 0.021
## (0.014) (0.013) (0.015)
##
## Constant 0.193*** 0.527*** 0.118*
## (0.074) (0.104) (0.070)
##
## -------------------------------------------------------------------
## Observations 284 284 284
## ===================================================================
## Note: *p<0.1; **p<0.05; ***p<0.01
## Robust standard errors in parentheses
car::linearHypothesis(M_1, c("Capital.log = 0", "SizeМикропредприятия + SizeМикропредприятия:Age = 0", "SizeСредние предприятия + SizeСредние предприятия:Age = 0"), test = "Chisq", white.adjust = "hc0")
## Linear hypothesis test
##
## Hypothesis:
## Capital.log = 0
## SizeМикропредприятия + SizeМикропредприятия:Age = 0
## SizeСредние предприятия + SizeСредние предприятия:Age = 0
##
## Model 1: restricted model
## Model 2: ROA ~ 1 + Capital.log + Size + Age + Size * Age + KSIZ + Short.debt +
## KSIZ * Short.debt
##
## Note: Coefficient covariance matrix supplied.
##
## Res.Df Df Chisq Pr(>Chisq)
## 1 277
## 2 274 3 5.4293 0.1429
car::linearHypothesis(M_2, c("Pr.means.log = 0", "SizeМикропредприятия + SizeМикропредприятия:Age = 0", "SizeСредние предприятия + SizeСредние предприятия:Age = 0"), test = "Chisq", white.adjust = "hc0")
## Linear hypothesis test
##
## Hypothesis:
## Pr.means.log = 0
## SizeМикропредприятия + SizeМикропредприятия:Age = 0
## SizeСредние предприятия + SizeСредние предприятия:Age = 0
##
## Model 1: restricted model
## Model 2: ROA ~ 1 + Pr.means.log + Size + Age + Size * Age + KSIZ + Short.debt +
## KSIZ * Short.debt
##
## Note: Coefficient covariance matrix supplied.
##
## Res.Df Df Chisq Pr(>Chisq)
## 1 277
## 2 274 3 24.712 1.773e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
car::linearHypothesis(M_2, c("SizeМикропредприятия + SizeМикропредприятия:Age = 0", "SizeСредние предприятия + SizeСредние предприятия:Age = 0"), test = "Chisq", white.adjust = "hc0")
## Linear hypothesis test
##
## Hypothesis:
## SizeМикропредприятия + SizeМикропредприятия:Age = 0
## SizeСредние предприятия + SizeСредние предприятия:Age = 0
##
## Model 1: restricted model
## Model 2: ROA ~ 1 + Pr.means.log + Size + Age + Size * Age + KSIZ + Short.debt +
## KSIZ * Short.debt
##
## Note: Coefficient covariance matrix supplied.
##
## Res.Df Df Chisq Pr(>Chisq)
## 1 276
## 2 274 2 1.9614 0.375
car::linearHypothesis(M_3, c("Avg.empl.log = 0", "SizeМикропредприятия + SizeМикропредприятия:Age = 0", "SizeСредние предприятия + SizeСредние предприятия:Age = 0"), test = "Chisq", white.adjust = "hc0")
## Linear hypothesis test
##
## Hypothesis:
## Avg.empl.log = 0
## SizeМикропредприятия + SizeМикропредприятия:Age = 0
## SizeСредние предприятия + SizeСредние предприятия:Age = 0
##
## Model 1: restricted model
## Model 2: ROA ~ 1 + Avg.empl.log + Size + Age + Size * Age + KSIZ + Short.debt +
## KSIZ * Short.debt
##
## Note: Coefficient covariance matrix supplied.
##
## Res.Df Df Chisq Pr(>Chisq)
## 1 277
## 2 274 3 1.3527 0.7167