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
- Namenwerte sind Spaltennamen!
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 × 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
## # ℹ 14 more rows
Gibt es evtl. noch mehr Probleme?
exam
beinhaltet keine Werte, sondern Namen von Variablen, nämlich vonexam1
undexam2
! Variablen, die die Note in der Prüfung angeben, deren Wert noch ingrade
steht. Deshalb nutzen wir hier jetztpivot_wider()
, um die Daten final tidy zu machen:
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
)
)