# Beispiellösung für Selbstkontrollfragen aus Einheit (9) "Maße der Zentralen # Tendenz" des Kurses "Programmierung und Deskriptive Statistik" im WS 22/23 # # author: Belinda Fleischmann # Pakete laden library(latex2exp) # Für LaTeX Formatierung # Directory management work_dir = getwd() # Working directory data_dir = file.path(work_dir, "Data") # Datenverzeichnispfad fig_dir = file.path(work_dir, "Figures") # Figures-Verzeichnispfad rawdata_fname = "psychotherapie_datensatz.csv" # (base) Daten filename rawdata_fpath = file.path(data_dir, rawdata_fname) # Rohdaten Dateipfad (Input) # Output-Ordner erstellen, falls nicht existent if (!file.exists(fig_dir)){ dir.create(fig_dir) } # Import data Data_df = read.table(rawdata_fpath, sep = ",", header = T) # ------SKF 2) Mittelwert der Post.BDI Daten.----------------------------------- # "Manuelle" Mittelwertsbestimmung x = Data_df$Post.BDI # double Vektor der Pre-BDI Werte Werte n = length(x) # Anzahl der Werte x_bar_man = (1/n)*sum(x) # Mittelwertsberechnung # Mittelwertsbestimmung mit der Funtion mean() x_bar_fun = mean(x) # ------SKF 5) Median der Post.BDI Daten---------------------------------------- # "Manuelle" Bestimmung des Median x_s = sort(x) # aufsteigend sortierter Vektor if(n %% 2 == 1){ # n ungerade, n mod 2 == 1 x_tilde_man = x_s[(n+1)/2] } else { # n gerade, n mod 2 == 0 x_tilde_man = (x_s[n/2] + x_s[n/2 + 1])/2 } # Bestimmung des Median mit der Funktion median() x_tilde_fun = median(x) # ------SKF 8) Modalwert der Post.BDI Daten------------------------------------- H = as.data.frame(table(x)) # absolute Haeufigkeitsverteilung (dataframe) names(H) = c("a", "h") # Konsistente Benennung mod = H$a[which.max(H$h)] # Modalwert mod_num = as.numeric(as.vector(mod)) # ------Zusammenfassende Ausgabe------------------------------------------------ cat("Mittelwert:", x_bar_man, "\nMedian :", x_tilde_man, "\nModalwert:", mod_num)