udaje <- read.csv2("dataEKONOMETRIA.csv",header=TRUE,sep=",",dec=".")
head(udaje)                                            
colnames(udaje)
[1] "Nazov"       "Kategoria"   "Forma"       "ROE"         "ROA"        
[6] "EBIT"        "EBITDAmarza" "M"           "Z"          
library(ggplot2)

# Scatter plot: vzťah medzi ROA a ROE
ggplot(udaje, aes(x = ROA, y = ROE)) +
  geom_point(color = "steelblue", size = 2) +     # typ grafu – bodový
  theme_minimal() +
  labs(
    title = "Vzťah medzi ROA a ROE",
    x = "Návratnosť aktív (ROA)",
    y = "Návratnosť vlastného kapitálu (ROE)"
  )

library(ggplot2)

ggplot(udaje, aes(x = factor(Kategoria), y = ROE)) +        # Kategoria namiesto YEARS
  geom_boxplot(fill = "lightblue", color = "darkblue") +    # typ grafu - boxplot
  labs(
    title = "ROE podľa kategórie firmy",
    x = "Kategória",
    y = "ROE (návratnosť vlastného kapitálu)"
  ) +
  theme_minimal()

library(dplyr)
library(knitr)

# Základné štatistiky ROE podľa kategórie
roe.stats <- udaje %>%
  group_by(Kategoria) %>%
  summarise(
    n      = n(),
    mean   = mean(ROE, na.rm = TRUE),
    sd     = sd(ROE, na.rm = TRUE),
    min    = min(ROE, na.rm = TRUE),
    q25    = quantile(ROE, 0.25, na.rm = TRUE),
    median = median(ROE, na.rm = TRUE),
    q75    = quantile(ROE, 0.75, na.rm = TRUE),
    max    = max(ROE, na.rm = TRUE),
    .groups = "drop"
  )

# Vygenerovanie tabuľky
kable(roe.stats, digits = 2, caption = "Základné štatistiky ukazovateľa ROE podľa kategórie firmy")
Základné štatistiky ukazovateľa ROE podľa kategórie firmy
Kategoria n mean sd min q25 median q75 max
1 4 0.10 0.79 -0.95 -0.16 0.20 0.46 0.94
2 12 0.12 0.78 -1.84 0.03 0.08 0.78 1.00
3 16 0.28 0.26 0.08 0.12 0.18 0.30 0.99
4 19 0.22 0.27 -0.11 0.08 0.13 0.26 1.00
5 2 0.11 0.03 0.10 0.10 0.11 0.12 0.13
NA
# ================== Balíčky ==================
library(dplyr)
library(knitr)
library(kableExtra)

# (ak ešte nemáš načítané dáta, odkomentuj)
# udaje <- read.csv("dataEKONOMETRIA.csv", header = TRUE, sep = ";", dec = ",",
#                   check.names = TRUE, stringsAsFactors = FALSE)

# Pomocná funkcia na výpočet štatistík
calc_stats <- function(df, group_var, value_var) {
  df %>%
    group_by({{ group_var }}) %>%
    summarise(
      n      = n(),
      mean   = mean({{ value_var }}, na.rm = TRUE),
      sd     = sd({{ value_var }}, na.rm = TRUE),
      min    = min({{ value_var }}, na.rm = TRUE),
      q25    = quantile({{ value_var }}, 0.25, na.rm = TRUE),
      median = median({{ value_var }}, na.rm = TRUE),
      q75    = quantile({{ value_var }}, 0.75, na.rm = TRUE),
      max    = max({{ value_var }}, na.rm = TRUE),
      .groups = "drop"
    )
}

# ================== 1) ROE podľa Kategoria ==================
roe_stats <- calc_stats(udaje, Kategoria, ROE)

roe_stats %>%
  kable(digits = 2, caption = "Základné štatistiky ROE podľa kategórie") %>%
  kable_styling(full_width = FALSE,
                bootstrap_options = c("striped", "hover", "condensed")) %>%
  column_spec(1, bold = TRUE) %>%
  row_spec(0, bold = TRUE, background = "#f2f2f2") %>%
  add_header_above(c(" " = 2, "ROE – Štatistiky" = 7))
Základné štatistiky ROE podľa kategórie
ROE – Štatistiky
Kategoria n mean sd min q25 median q75 max
1 4 0.10 0.79 -0.95 -0.16 0.20 0.46 0.94
2 12 0.12 0.78 -1.84 0.03 0.08 0.78 1.00
3 16 0.28 0.26 0.08 0.12 0.18 0.30 0.99
4 19 0.22 0.27 -0.11 0.08 0.13 0.26 1.00
5 2 0.11 0.03 0.10 0.10 0.11 0.12 0.13

# ================== 2) ROA podľa Forma ==================
roa_stats <- calc_stats(udaje, Forma, ROA)

roa_stats %>%
  kable(digits = 2, caption = "Základné štatistiky ROA podľa formy firmy") %>%
  kable_styling(full_width = FALSE,
                bootstrap_options = c("striped", "hover", "condensed")) %>%
  column_spec(1, bold = TRUE) %>%
  row_spec(0, bold = TRUE, background = "#f2f2f2") %>%
  add_header_above(c(" " = 2, "ROA – Štatistiky" = 7))
Základné štatistiky ROA podľa formy firmy
ROA – Štatistiky
Forma n mean sd min q25 median q75 max
as 17 0.07 0.08 0.00 0.01 0.04 0.09 0.26
sro 36 0.10 0.15 -0.17 0.04 0.06 0.13 0.70
NA
# t-test: porovnanie priemerov ROE medzi dvoma formami firiem
t.test.result <- t.test(
  ROE ~ Forma,       # porovnávame ROE podľa dvoch skupín v stĺpci Forma
  data = udaje,
  var.equal = FALSE  # ak si nie si istá rovnosťou rozptylov
)

t.test.result

    Welch Two Sample t-test

data:  ROE by Forma
t = -0.0073638, df = 50.356, p-value = 0.9942
alternative hypothesis: true difference in means between group as and group sro is not equal to 0
95 percent confidence interval:
 -0.2115588  0.2100130
sample estimates:
 mean in group as mean in group sro 
        0.2027450         0.2035179 
anova.result <- aov(ROA ~ Forma, data = udaje)
summary(anova.result)
            Df Sum Sq Mean Sq F value Pr(>F)
Forma        1 0.0105 0.01047   0.594  0.444
Residuals   51 0.8985 0.01762               
# Lineárna regresia: predikcia ROE na základe ďalších ukazovateľov
model <- lm(ROE ~ ROA + EBITDAmarza + M + Z, data = udaje)
summary(model)

Call:
lm(formula = ROE ~ ROA + EBITDAmarza + M + Z, data = udaje)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.26230 -0.07712 -0.01667  0.13934  0.79777 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) -0.001288   0.104697  -0.012 0.990238    
ROA          1.820819   0.486836   3.740 0.000491 ***
EBITDAmarza -0.485064   0.416720  -1.164 0.250176    
M            0.020364   0.014911   1.366 0.178417    
Z           -0.016741   0.039112  -0.428 0.670545    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.4191 on 48 degrees of freedom
Multiple R-squared:  0.2362,    Adjusted R-squared:  0.1725 
F-statistic:  3.71 on 4 and 48 DF,  p-value: 0.01037
LS0tCnRpdGxlOiAiUiBOb3RlYm9vayIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQoKYGBge3J9CnVkYWplIDwtIHJlYWQuY3N2MigiZGF0YUVLT05PTUVUUklBLmNzdiIsaGVhZGVyPVRSVUUsc2VwPSIsIixkZWM9Ii4iKQpoZWFkKHVkYWplKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCmNvbG5hbWVzKHVkYWplKQpgYGAKYGBge3J9CmxpYnJhcnkoZ2dwbG90MikKCiMgU2NhdHRlciBwbG90OiB2esWlYWggbWVkemkgUk9BIGEgUk9FCmdncGxvdCh1ZGFqZSwgYWVzKHggPSBST0EsIHkgPSBST0UpKSArCiAgZ2VvbV9wb2ludChjb2xvciA9ICJzdGVlbGJsdWUiLCBzaXplID0gMikgKyAgICAgIyB0eXAgZ3JhZnUg4oCTIGJvZG92w70KICB0aGVtZV9taW5pbWFsKCkgKwogIGxhYnMoCiAgICB0aXRsZSA9ICJWesWlYWggbWVkemkgUk9BIGEgUk9FIiwKICAgIHggPSAiTsOhdnJhdG5vc8WlIGFrdMOtdiAoUk9BKSIsCiAgICB5ID0gIk7DoXZyYXRub3PFpSB2bGFzdG7DqWhvIGthcGl0w6FsdSAoUk9FKSIKICApCgpgYGAKYGBge3J9CmxpYnJhcnkoZ2dwbG90MikKCmdncGxvdCh1ZGFqZSwgYWVzKHggPSBmYWN0b3IoS2F0ZWdvcmlhKSwgeSA9IFJPRSkpICsgICAgICAgICMgS2F0ZWdvcmlhIG5hbWllc3RvIFlFQVJTCiAgZ2VvbV9ib3hwbG90KGZpbGwgPSAibGlnaHRibHVlIiwgY29sb3IgPSAiZGFya2JsdWUiKSArICAgICMgdHlwIGdyYWZ1IC0gYm94cGxvdAogIGxhYnMoCiAgICB0aXRsZSA9ICJST0UgcG9kxL5hIGthdGVnw7NyaWUgZmlybXkiLAogICAgeCA9ICJLYXRlZ8OzcmlhIiwKICAgIHkgPSAiUk9FIChuw6F2cmF0bm9zxaUgdmxhc3Ruw6lobyBrYXBpdMOhbHUpIgogICkgKwogIHRoZW1lX21pbmltYWwoKQoKYGBgCmBgYHtyfQpsaWJyYXJ5KGRwbHlyKQpsaWJyYXJ5KGtuaXRyKQoKIyBaw6FrbGFkbsOpIMWhdGF0aXN0aWt5IFJPRSBwb2TEvmEga2F0ZWfDs3JpZQpyb2Uuc3RhdHMgPC0gdWRhamUgJT4lCiAgZ3JvdXBfYnkoS2F0ZWdvcmlhKSAlPiUKICBzdW1tYXJpc2UoCiAgICBuICAgICAgPSBuKCksCiAgICBtZWFuICAgPSBtZWFuKFJPRSwgbmEucm0gPSBUUlVFKSwKICAgIHNkICAgICA9IHNkKFJPRSwgbmEucm0gPSBUUlVFKSwKICAgIG1pbiAgICA9IG1pbihST0UsIG5hLnJtID0gVFJVRSksCiAgICBxMjUgICAgPSBxdWFudGlsZShST0UsIDAuMjUsIG5hLnJtID0gVFJVRSksCiAgICBtZWRpYW4gPSBtZWRpYW4oUk9FLCBuYS5ybSA9IFRSVUUpLAogICAgcTc1ICAgID0gcXVhbnRpbGUoUk9FLCAwLjc1LCBuYS5ybSA9IFRSVUUpLAogICAgbWF4ICAgID0gbWF4KFJPRSwgbmEucm0gPSBUUlVFKSwKICAgIC5ncm91cHMgPSAiZHJvcCIKICApCgojIFZ5Z2VuZXJvdmFuaWUgdGFidcS+a3kKa2FibGUocm9lLnN0YXRzLCBkaWdpdHMgPSAyLCBjYXB0aW9uID0gIlrDoWtsYWRuw6kgxaF0YXRpc3Rpa3kgdWthem92YXRlxL5hIFJPRSBwb2TEvmEga2F0ZWfDs3JpZSBmaXJteSIpCgpgYGAKYGBge3J9CiMgPT09PT09PT09PT09PT09PT09IEJhbMOtxI1reSA9PT09PT09PT09PT09PT09PT0KbGlicmFyeShkcGx5cikKbGlicmFyeShrbml0cikKbGlicmFyeShrYWJsZUV4dHJhKQoKIyAoYWsgZcWhdGUgbmVtw6HFoSBuYcSNw610YW7DqSBkw6F0YSwgb2Rrb21lbnR1aikKIyB1ZGFqZSA8LSByZWFkLmNzdigiZGF0YUVLT05PTUVUUklBLmNzdiIsIGhlYWRlciA9IFRSVUUsIHNlcCA9ICI7IiwgZGVjID0gIiwiLAojICAgICAgICAgICAgICAgICAgIGNoZWNrLm5hbWVzID0gVFJVRSwgc3RyaW5nc0FzRmFjdG9ycyA9IEZBTFNFKQoKIyBQb21vY27DoSBmdW5rY2lhIG5hIHbDvXBvxI1ldCDFoXRhdGlzdMOtawpjYWxjX3N0YXRzIDwtIGZ1bmN0aW9uKGRmLCBncm91cF92YXIsIHZhbHVlX3ZhcikgewogIGRmICU+JQogICAgZ3JvdXBfYnkoe3sgZ3JvdXBfdmFyIH19KSAlPiUKICAgIHN1bW1hcmlzZSgKICAgICAgbiAgICAgID0gbigpLAogICAgICBtZWFuICAgPSBtZWFuKHt7IHZhbHVlX3ZhciB9fSwgbmEucm0gPSBUUlVFKSwKICAgICAgc2QgICAgID0gc2Qoe3sgdmFsdWVfdmFyIH19LCBuYS5ybSA9IFRSVUUpLAogICAgICBtaW4gICAgPSBtaW4oe3sgdmFsdWVfdmFyIH19LCBuYS5ybSA9IFRSVUUpLAogICAgICBxMjUgICAgPSBxdWFudGlsZSh7eyB2YWx1ZV92YXIgfX0sIDAuMjUsIG5hLnJtID0gVFJVRSksCiAgICAgIG1lZGlhbiA9IG1lZGlhbih7eyB2YWx1ZV92YXIgfX0sIG5hLnJtID0gVFJVRSksCiAgICAgIHE3NSAgICA9IHF1YW50aWxlKHt7IHZhbHVlX3ZhciB9fSwgMC43NSwgbmEucm0gPSBUUlVFKSwKICAgICAgbWF4ICAgID0gbWF4KHt7IHZhbHVlX3ZhciB9fSwgbmEucm0gPSBUUlVFKSwKICAgICAgLmdyb3VwcyA9ICJkcm9wIgogICAgKQp9CgojID09PT09PT09PT09PT09PT09PSAxKSBST0UgcG9kxL5hIEthdGVnb3JpYSA9PT09PT09PT09PT09PT09PT0Kcm9lX3N0YXRzIDwtIGNhbGNfc3RhdHModWRhamUsIEthdGVnb3JpYSwgUk9FKQoKcm9lX3N0YXRzICU+JQogIGthYmxlKGRpZ2l0cyA9IDIsIGNhcHRpb24gPSAiWsOha2xhZG7DqSDFoXRhdGlzdGlreSBST0UgcG9kxL5hIGthdGVnw7NyaWUiKSAlPiUKICBrYWJsZV9zdHlsaW5nKGZ1bGxfd2lkdGggPSBGQUxTRSwKICAgICAgICAgICAgICAgIGJvb3RzdHJhcF9vcHRpb25zID0gYygic3RyaXBlZCIsICJob3ZlciIsICJjb25kZW5zZWQiKSkgJT4lCiAgY29sdW1uX3NwZWMoMSwgYm9sZCA9IFRSVUUpICU+JQogIHJvd19zcGVjKDAsIGJvbGQgPSBUUlVFLCBiYWNrZ3JvdW5kID0gIiNmMmYyZjIiKSAlPiUKICBhZGRfaGVhZGVyX2Fib3ZlKGMoIiAiID0gMiwgIlJPRSDigJMgxaB0YXRpc3Rpa3kiID0gNykpCgojID09PT09PT09PT09PT09PT09PSAyKSBST0EgcG9kxL5hIEZvcm1hID09PT09PT09PT09PT09PT09PQpyb2Ffc3RhdHMgPC0gY2FsY19zdGF0cyh1ZGFqZSwgRm9ybWEsIFJPQSkKCnJvYV9zdGF0cyAlPiUKICBrYWJsZShkaWdpdHMgPSAyLCBjYXB0aW9uID0gIlrDoWtsYWRuw6kgxaF0YXRpc3Rpa3kgUk9BIHBvZMS+YSBmb3JteSBmaXJteSIpICU+JQogIGthYmxlX3N0eWxpbmcoZnVsbF93aWR0aCA9IEZBTFNFLAogICAgICAgICAgICAgICAgYm9vdHN0cmFwX29wdGlvbnMgPSBjKCJzdHJpcGVkIiwgImhvdmVyIiwgImNvbmRlbnNlZCIpKSAlPiUKICBjb2x1bW5fc3BlYygxLCBib2xkID0gVFJVRSkgJT4lCiAgcm93X3NwZWMoMCwgYm9sZCA9IFRSVUUsIGJhY2tncm91bmQgPSAiI2YyZjJmMiIpICU+JQogIGFkZF9oZWFkZXJfYWJvdmUoYygiICIgPSAyLCAiUk9BIOKAkyDFoHRhdGlzdGlreSIgPSA3KSkKCmBgYApgYGB7cn0KIyB0LXRlc3Q6IHBvcm92bmFuaWUgcHJpZW1lcm92IFJPRSBtZWR6aSBkdm9tYSBmb3JtYW1pIGZpcmllbQp0LnRlc3QucmVzdWx0IDwtIHQudGVzdCgKICBST0UgfiBGb3JtYSwgICAgICAgIyBwb3Jvdm7DoXZhbWUgUk9FIHBvZMS+YSBkdm9jaCBza3Vww61uIHYgc3TEunBjaSBGb3JtYQogIGRhdGEgPSB1ZGFqZSwKICB2YXIuZXF1YWwgPSBGQUxTRSAKKQoKdC50ZXN0LnJlc3VsdAoKYGBgCmBgYHtyfQphbm92YS5yZXN1bHQgPC0gYW92KFJPQSB+IEZvcm1hLCBkYXRhID0gdWRhamUpCnN1bW1hcnkoYW5vdmEucmVzdWx0KQoKYGBgCmBgYHtyfQojIExpbmXDoXJuYSByZWdyZXNpYTogcHJlZGlrY2lhIFJPRSBuYSB6w6FrbGFkZSDEj2FsxaHDrWNoIHVrYXpvdmF0ZcS+b3YKbW9kZWwgPC0gbG0oUk9FIH4gUk9BICsgRUJJVERBbWFyemEgKyBNICsgWiwgZGF0YSA9IHVkYWplKQpzdW1tYXJ5KG1vZGVsKQoKYGBgCgo=