--- title: "tidy up statclass 2" # Titel der Seite weight: 324 # Individuelles Gewicht menuTitle: "" # Falls Titel zulang ist, hier Kurztitel tags: ["tidyr", "tidyverse", "datensatz"] # Tags hiereinsetzen; Kurzwort, was auf der Seite passsiert ---

Wo liegt hier das Problem?

statclass2
##    test momo kim sascha  exam
## 1 stat1   12  13      4 exam1
## 2 stat1   NA  NA      8 exam2
## 3 stat2    5  10      5 exam1
## 4 stat2   NA  NA     NA exam2
## 5     r    6  13      3 exam1
## 6     r   NA  NA      9 exam2
## 7  spss    9   4      7 exam1
## 8  spss   NA   7     NA exam2

Und hier die Lösung: Auch hier wandeln wir wieder in das long-Format um!

statclass2Tidy <- statclass2 %>%
  pivot_longer(
    momo:sascha, 
    names_to = "names", 
    values_to = "grade"
  )

statclass2Tidy
## # A tibble: 24 x 4
##    test  exam  names  grade
##    <chr> <chr> <chr>  <dbl>
##  1 stat1 exam1 momo      12
##  2 stat1 exam1 kim       13
##  3 stat1 exam1 sascha     4
##  4 stat1 exam2 momo      NA
##  5 stat1 exam2 kim       NA
##  6 stat1 exam2 sascha     8
##  7 stat2 exam1 momo       5
##  8 stat2 exam1 kim       10
##  9 stat2 exam1 sascha     5
## 10 stat2 exam2 momo      NA
## # ... with 14 more rows

Gibt es evtl. noch mehr Probleme?

statclass2Tidy <- statclass2Tidy %>% 
  pivot_wider(
    names_from = exam, 
    values_from = grade
  ) %>% 
  relocate(names) %>% 
  arrange(
    names,
    test
  )

statclass2Tidy

Nur zur Übung könnte man auch dies wiederum in den Ursprungsdatensatz mit pivot_wider() verändern:

statclass2re <- statclass2Tidy %>% 
  pivot_wider(
    names_from = test,
    values_from = c(
      exam1, 
      exam2
    )
  )