--- title: "Quarto Demonstration" author: "Belinda Fleischmann" date: 01-04-2023 format: html: fig-width: 6 fig-height: 3 code-fold: true --- # Visualisierung des Zusammenhangs zwischen zwei Variablen Das hier ist Beispiel-text mit Referenz zur der Abbildung @fig-ausgleichsgerade. ```{r echo = T, eval = TRUE} #| label: fig-ausgleichsgerade #| fig-cap: "Dauer der Depressionssymptomatik und Prä-Post BDI-Differenz." #| warning: false library(dplyr) # Für Pipe (%>%), mutate() library(ggplot2) # Für ggplot() # Daten vorbereiten # file_path <- "6_Übungen/1_Einfache_lineare_Regression/1-Einfache-Lineare-Regression.csv" file_path <- "Daten_2.csv" wd <- getwd() D <- read.table(file_path, sep = ",", header = TRUE) n_pat <- nrow(D) # Anzahl Patientinnen D_processed <- D %>% # PatientIn ID hinzufügen mutate(PatientIn = seq(n_pat)) # Visualisierung ggplot( data = D_processed, # Daten mapping = aes(x = DUR, y = BDI)) + # Daten-Axen-mapping coord_cartesian(ylim = c(-10, 20)) + # y-limits anpassen geom_point() + # Datenpunkte zeichnen geom_smooth(method = "lm", color = "blue", se = F, size = 0.4) + # Ausgleichsgerade zeichnen ylab("BDI Diff") + xlab("Dauer Symptomatik [Monate]") out_fn = "ggplot_demo.pdf" ggsave( # Abbildung speichern filename = out_fn, height = 5, width = 5 ) ``` Ich kann im Fließtext auch Variablen referenzieren und den im Arbeitsspeicher hinterliegten Wert abrufen. So kann ich hier beispielsweise darüber informieren, dass die @fig-ausgleichsgerade als pdf Datei in `r file.path(getwd(), out_fn)` abgelegt wird. # Zusammenhangsmaße Als nächstes kann ich noch ein Maße angeben, die den Zusammenhang quantifizieren. Der Folgende Code bestimmt die Korrelation und Parameter der Ausgleichsgeraden. ```{r echo = T, eval = TRUE} #| label: Maße # Lineare Regression durchführen lm_model <- lm(BDI ~ DUR, data = D_processed) # Steigung (slope) extrahieren beta_1 <- coef(lm_model)["DUR"] # y-Achsenabschnitt (intercept) extrahieren beta_0 <- coef(lm_model)["(Intercept)"] # Korrelation bestimmen r <- cor(D$BDI, D$DUR) ``` Die Ergebnisse kann ich jetzt im Fließtext beschreiben. Die Korrelation zwischen BDI Differenz und Dauer der Depressionssymptomatik zu Therapiebeginn beträgt `r round(r, digits = 2)`. Der Steigungsparameter der Ausgleichsgerade ist $\beta_1 = `r round(beta_1, digits = 2)`$ und der y-Achsenabschitt $\beta_0 = `r round(beta_0, digits = 2)`$. Noch ein wenig eleganter wäre es allerdings, die Werte in die Grafik zu integrieren. Der nachfolgende Code setzt produziert @fig-ausgleichsgerade-mit-Maßen , wo wir das umsetzen. ```{r echo = T, eval = TRUE} #| label: fig-ausgleichsgerade-mit-Maßen #| fig-cap: "Dauer der Depressionssymptomatik und Prä-Post BDI-Differenz." #| warning: false library(latex2exp) # Für TeX() beschriftung <- sprintf( "r = %.2f, beta_0 = %.2f, beta_1 = %.2f", r, beta_0, beta_1 ) # Visualisierung ggplot( data = D_processed, # Daten mapping = aes(x = DUR, y = BDI)) + # Daten-Axen-mapping coord_cartesian(ylim = c(-10, 20)) + # y-limits anpassen geom_point() + # Datenpunkte zeichnen geom_smooth(method = "lm", color = "blue", se = F, size = 0.4) + # Ausgleichsgerade zeichnen ylab("BDI Diff") + xlab("Dauer Symptomatik [Monate]") + annotate( # "geom" (Objekt) hinzufügen "text", # Typ des OBjekt ist Text label = beschriftung, # Inhalt des Text-Objekts x = Inf, # x-Achsen-Position ganz rechts hjust = 1, # rechtsbündig (0: linksbündig, 0.5: zentriert) y = 19, # y-Achsen-Position bei Wert 20. vjust = 1 # nach bündig (0: unten bündig, 0.5: zentriert) ) ggsave( # Abbildung speichern filename = "ggplot_demo_2.pdf", height = 5, width = 5 ) ```