# Laden der benötigten Pakete in die Julia-Umgebung: using CSV, DataFrames using Statistics, StatsBase using Plots, StatsPlots using Distributions, HypothesisTests # Dateiname: dateiname = "NormalVergleich.csv" verzeichnis = pwd() datei = joinpath(verzeichnis, dateiname) # Einlesen der CSV-Datei: NormalVergleich = CSV.read(datei, header = 1, delim = ';', decimal = ',', normalizenames = true ) # Ausgabe der CSV-Datei: show(NormalVergleich) # Schätzen der Varianzen für die einzelnen Vektoren von NormalVergleich: x_var = var(NormalVergleich[:x]) y_var = var(NormalVergleich[:y]) z_var = var(NormalVergleich[:z]) # Berechnung des Varianz-Quotienten, der Prüfgröße (bezogen # auf den x-Vektor): # Die größte Varianz muss im Zähler stehen: x_var < y_var ? (xy_Q = y_var / x_var) : (xy_Q = x_var / y_var) x_var < z_var ? (xz_Q = z_var / x_var) : (xz_Q = x_var / z_var) # Anzahl der Elemente ermitteln und Freiheitsgrad festlegen: x_FG = length(NormalVergleich[:x]) - 1 y_FG = length(NormalVergleich[:y]) - 1 z_FG = length(NormalVergleich[:z]) - 1 # F-Verteilungs-Quantil für den Varianz-Quotienten schätzen: fq_xy = cdf(FDist(x_FG, y_FG), xy_Q) fq_xz = cdf(FDist(x_FG, z_FG), xz_Q) # p-Wert-Berechnung: fq_xy < 0.5 ? (pValue_xy = 2 * fq_xy) : (pValue_xy = 2 * (1 - fq_xy)) fq_xz < 0.5 ? (pValue_xz = 2 * fq_xz) : (pValue_xz = 2 * (1 - fq_xz)) # Testergebnisausgabe: println("\n","\n", "Varianzvergleich X und y:") println("Varianzkoeffizient (Prüfgröße) = ", round(xy_Q, digits = 4), ", p-Wert = ", round(pValue_xy, digits = 4)) println("\n", "Varianzvergleich X und z:") println("Varianzkoeffizient (Prüfgröße) = ", round(xz_Q, digits = 4), ", p-Wert = $pValue_xz") println("\n")