---
title: "t-Test für abhängige Stichproben"
runtime: shiny

output: 
  html_notebook:
    code_folding: hide
    number_sections: TRUE
    toc: true
    toc_depth: 3
    toc_float: true
---

Packages:

```{r results='hide', echo=FALSE,include=FALSE,}
library(shiny)
library(car)
library(dplyr)
library(ggplot2)
library(psych)
```

## Daten einlesen:

```{r results='hide', echo=FALSE,include=FALSE,}

library(readr)
uebung5 <- read.csv("~/Downloads/uebung5.csv")
twins <- uebung5
```

## Hypothese:

H1: Es gibt einen Unterschied zwischen dem IQ von Zwillingen, die bei Ihren biologischen Eltern aufgewachsen sind und dem IQ von Zwillingen, die bei Adoptiveltern aufgewachsen sind.

$$MIQbio ≠ MIQFoster$$

H0: Es gibt keinen Unterschied zwischen dem IQ von Zwillingen, die bei Ihren biologischen Eltern aufgewachsen sind und dem IQ von Zwillingen, die bei Adoptiveltern aufgewachsen sind.

$$MIQbio ≠ MIQFoster$$

## Voraussetzungen des t-Tests:

```{r results='hide', echo=FALSE,include=FALSE,}
AV <- sprintf("Die abhängige Variable (AV) ist min. intervallskaliert -> IQ")
UV <- sprintf("Die unabhängige Variable (UV) muss min. kategorial sein, daher nominalskaliert und muss zwei Ausprägungen haben. Die beiden Ausprägungen beziehen auf die beiden Gruppen, die wir vergleichen <- (aufgewachsen bei den biologischen Eltern und aufgewachsen bei Adoptiveltern")

histogramm_antwort <- sprintf("Der gepaarte t-Test erwartet nicht, dass die Daten in den beiden Gruppen normalverteilt sein müssen, allerdings aber die Differenzen beider Gruppen. Genauer gesagt, bezieht sich diese Annahme auf die Residuen und nicht auf die Daten selbst.")
qqplot_antwort <- sprintf("Gerade weil die Aussagekraft des Histogramms noch  nicht so eindeutig war, wurde im Anschluss die Normalverteilung noch mit Hilfe des QQPlots naeher untersucht. Das Ergebnis des QQPlots ist deutlich eindeutiger als beim Histogramm, so dass man schlussfolgern kann, dass im konkreten Fall eine Normalverteilung vorliegt.")
```

```{r results='hide', echo=FALSE,include=FALSE,}
library(dplyr)
library(ggplot2)
```

```{r}
zwischen <- twins$IQbio - twins$IQfoster 
twins <- cbind(twins, "Differenz" = zwischen)

```

```{r}
tabsetPanel(
  tabPanel("Abhängige Variable ", br(),AV),
  tabPanel("Unabhängige Variable", br(),UV),
   
  
  tabPanel("Histogram",br(),
               sliderInput("number_bins_selbst",
               "Number of Histogramm bins:",
               value = 6,
               min = 1,
               max = 12),
      renderPlot({
             twins %>%
                      ggplot(aes(as.numeric(Differenz))) +
                      geom_histogram(color="#e9ecef", alpha=0.7,
                                     bins =input$number_bins_selbst) +
                                          theme_grey()+
                      labs(x= "XX",y = "Anzahl" )
           }), histogramm_antwort
    ),
    
  
tabPanel("QQPlot",br(),
           
           renderPlot({
                    qqPlot(twins$Differenz, 
                       main = "QQPlot für die Var. Differenz"
                       )
           }), qqplot_antwort
    )
    
)

```

```{r results='hide', echo=FALSE,include=FALSE,}
tantwort <-print("Es wird ersichtlich, dass ein Zusammenhang zwischen IQBio und IQfoster(r = .88, p = .000, n = 27) vorliegt. Da r einen positiven Wert aufweist, kann von einem positiven linearen und signifikanten Zusammenhang zwischen IQBio und IQfoster ausgegangen werden. Für das Beispiel ergibt sich eine starke Korrelation von r = .88.

")

Korrelationantwort <-print("Der Korrelationskoeffizient kann nur Werte im Bereich zwischen -1 und +1 annehmen. Ist er kleiner als Null (r < 0), so besteht ein negativer linearer Zusammenhang. Bei einem Wert grösser als Null (r > 0) besteht ein positiver linearer Zusammenhang und bei einem Wert von Null (r = 0) besteht kein Zusammenhang zwischen den Variablen.
")

```

## Deskriptive Statistiken und Korrelation

```{r}
tabsetPanel(
  tabPanel("Deskriptive Statistiken", br(),
            
            renderPrint({
          g <- describe(twins)
          print(g)
           }),tantwort
          ),
           
           
   
  tabPanel("Korrelation", br(),
            
           renderPlot({
scatterplot(IQbio ~ IQfoster, data = twins,
            main = "Streudiagramm für die beiden IQ-Werte", ylab = "Zwilling ist bei den biologischen Eltern aufgewachen.", xlab= "Zwilling ist bei den Adoptiveltern aufgewachen.", col= "green" )

           }),br(),

             renderPrint({
                    test <- cor.test(twins$IQbio , twins$IQfoster)

                  print(test)
           }),Korrelationantwort
    )
    
           
)
```


## Ergebnisse des t-Tests für abhängige Stichproben

```{r results='hide', echo=FALSE,include=FALSE,}
tantwort<- print("Die Teststatistik beträgt t = 7.218 und der zugehörige Signifikanzwert p = 7.402e-08. Damit ist der Unterschied signifikant: Die Mittelwerte der beiden Messzeitpunkte (Fremdeinschätzung und Selbsteinschätzung) unterscheiden sich (t(28) = 7.218, p = 7.402e-08, n= 29).")

```

```{r}
tabsetPanel(

   tabPanel("Ergebnisse des t-Tests für abhängige Stichproben",  br(),
            
             renderPrint({
  testVER<- t.test(twins$IQbio, twins$IQfoster,
                   alternative = "two.sided",
                   paired = TRUE, 
                   conf.level = .95)
          print(testVER)
           }),tantwort
          )
  

    
)
```

## Berechnung der Effektstärke

```{r results='hide', echo=FALSE,include=FALSE,}
test1<- t.test(twins$IQbio, twins$IQfoster, var.eq = TRUE, con= 0.95, alt = "two.sided")
eff <- sqrt ((test1$statistic^2 )/ (test1$statistic^2 + test1$parameter))
```

```{r results='hide', echo=FALSE,include=FALSE,}




txt_cohen_92 <- "<center>Schwacher Effekt: 0.10 < ||r|| < 0.30 <br/> Schwacher bis mittlerer Effekt: 0.30 = ||r||
<br/> Mittlerer Effekt: 0.30 < ||r|| < 0.50
<br/> Mittlerer bis starker Effekt:0.50 = ||r||
<br/> Starker Effekt: 0.50 < ||r||
<br/></center><br/>"


txt_hedges <- "<center>Schwacher Effekt: 0.20 < ||g|| < 0.50 <br/> Schwacher bis mittlerer Effekt: 0.50 = ||g||
<br/> Mittlerer Effekt: 0.50 < ||g|| < 0.80
<br/> Mittlerer bis starker Effekt:0.80 = ||g||
<br/> Starker Effekt: 0.80 < ||g||
<br/></center><br/>"



txt_ergebnis_cramer <- "Wenn wir jetzt mit Cramers V die Effektstärke berechnen erhalten wir eine Effektstärke von 0.3398, dies ist gemäss der Tabelle von CramersV ein schwacher bis mittlerer Effekt. Es zeigt sich für unsere Auswertung, dass ein mittlerer Zusammenhang besteht."

efftext1<-print("Zur Beurteilung der Groesse des Effektes dient die Einteilung von Cohen (1992):")
efftext2<-print("Zur Beurteilung der Größe des Effektes:")
efftext4<-print("Damit entspricht eine Effektstärke keinen Effekt.")
effantwort <-print("Im Rahmen des t-Tests fuer abhängige Stichprobe berechnen wir nach Pearson und interpretieren nach Cohen(1992).

Damit liegt kein Effektstärke vor (r= 0.02).")

```

```{r}
tabsetPanel(
  tabPanel("Cohen und Pearson", br(),
           renderUI({
           withMathJax(
      helpText('$$r=\\sqrt{\\frac{t^2}{t^2+df}}$$'))
  }), br(),

   
            renderPrint({
             eff <- sqrt ((test1$statistic^2 )/ (test1$statistic^2 + test1$parameter))
              sprintf("Die Effektstärke liegt bei %.2f",eff )

             
           }),br(),efftext1,br(), HTML(txt_cohen_92), br(),effantwort
          ),
  
  
          
  tabPanel("Hedges g", br(),

           renderUI({
           withMathJax(
      helpText('$$Hedges$$'))
  }), br(),
  
   renderPrint({
            
             diff <- mean(twins$Differenz)

              sed <- sd(twins$Differenz)
              
              g <- diff/sed
              g <- as.numeric(g)
              sprintf("Effektstärke: %.4f",g)

             
           }),
  
  
  efftext2,br(),HTML(txt_hedges),br(),efftext4 )

)
```

## Eine Aussage


Es zeigt sich, dass  es keinen statistisch signifikant unterscheiden zwischen dem IQ der Zwillingsgeschwister gibt (t(26) = -0.12438, p = .902, n= 27). 

**H0 wird angenommen.**
