Liebe Studierende,
hier haben wir Ihnen die häufigsten Fragen und Antworten zu R aus den letzten Kohorten zusammengestellt. Wir werden diese Liste fortlaufend erweitern.
Suchen Sie gerne mit `Strg + F` nach Ihrer gewünschten Frage, vielleicht wurde sie ja schonmal gestellt. Viel Erfolg beim Suchen!
Inhaltsverzeichnis
- Inhaltsverzeichnis
- Installation
- Pakete
- R Studio
- Datensätze
- Base R
- Datentypen
- Tidyverse
- Signifikanztests
- Modellannahmen
- Bayesianische Statistik
- Assoziationsmaße
- ANOVA
Installation
- alles sieht sehr komisch aus
- R statt R Studio geöffnet
- irgendwas hat beim Installieren nicht geklappt
- nur R oder nur R Studio installiert
- Fehler, dass RTools zuerst installiert werden muss
- cran.rstudio.com/bin/windows/Rtools/ installieren
- Fehler: dies ist R Version 3.4.2, Paket infer benötigt R>= 3.5.0
- R muss geupdated werden (nicht R Studio)
Pakete
- Paket nicht gefunden
- Paket muss zuvor installiert werden
- Funktion kann nicht gefunden werden
- Paket nicht geladen
- Paket laden und dann Paket nochmal installieren führt auch dazu, dass Paket nicht geladen ist
- Paket muss jedes Mal neu geladen werden, wenn Notebook geöffnet wird
- zählt auch bei: konnte Funktion "
%>%
" nicht finden - Paket dplyr nicht geladen
- Fehler: Hmisc package required for this function
- Paket Hmisc installieren (H wird groß geschrieben, nicht hmisc)
- install.packages(Paketname)
- Anführungszeichen fehlen
- Installieren von Paketen benötigt beim erstmaligen Starten von R Notebook/R Markdown
- Fehlermeldung ("Required packages could not be found"): keine Internetverbindung besteht
- Probleme, Paket rmarkdown zu installieren
- zuerst jsonlite installieren, dann rmarkdown
R Studio
- Insert Chunk nicht möglich
- überprüfen, ob man wirklich ein R Notebook geöffnet hat (und nicht ein R Skript)
- Error creating Notebook: Resource discovery is only supported for R Markdown files or HTML files
- R Notebook muss mit Dateiendung .Rmd abgespeichert werden
- Environment und Files/Plots/... werden nicht mehr angezeigt
- mit der Maus den rechten Rand nach links ziehen
- Auf View → Panes → Show all panes klicken
YAML-Header
1. kein Preview-Button zur Erstellung eines html-Dokuments
- im YAML-Header output:
html_document
hinzufügen/abändern
2. Error creating notebook: Problem bei der Konvertierung des Dateinamens — zu lang
- Name von R Notebook und gesamter Pfad darf keine Umlaute enthalten
- erkennt man auch daran, dass tidyverse-Funktionen keinen Output im R Notebook selbst anzeigen
3. kein Preview-Button, keine Möglichkeit Chunk abzuspielen
- YAML-Header nicht korrekt (z.B. nur zwei statt drei Bindestriche)
Chunks
1. Fehlermeldung: Versuch einen Variablennamen der Länge 0 zu nutzen
- Anfang und Ende des Chunks wurde auch markiert und als Code abgespielt
- überprüfen, ob Chunk richtig dargestellt ist
Datensätze
- Datensatz im eigenen R Notebook mehr Variablen als im Tutorial
- im Tutorial bleiben alle Änderungen am Datensatz nur bei diesem einen Chunk erhalten
- Fehler bei
load("data.rda")
- Datensatz nicht richtig eingelesen → R Notebook und Datensatz in gleichen Ordner, diesen als Arbeitsverzeichnis (Working Directory) festlegen
load(data)
- R Notebook muss im gleichen Ordner abgespeichert sein, außerdem: load("data.rda")
- Error in readchar(): cannot open the connection
- Datensatz und R Notebook nicht im gleichen Ordner abgespeichert (bzw. Notebook gar nicht abgespeichert)
- Wo finde ich meinen Ordner mit Datensatz und R Notebook?
- Ordner muss zuerst erstellt werden, Datensatz und R Notebook müssen in diesem Ordner abgespeichert werden
- Was versteht man unter einem Fall in einem Datensatz?
- muss nicht unbedingt immer eine einzelne Person sein, z.B. gapminder (Fall = Land/Jahr), hängt auch davon ab, ob der Datensatz im long- oder wide-Format vorliegt
- vorher erstellte Variable wird im nächsten Schritt im Datensatz nicht gefunden
- oft: vorher erstellte Variable wurde nicht mit dem Zuweisungspfeil dauerhaft im Datensatz abgespeichert
- Fehlermeldung, dass Spalte nicht gefunden wird
- falscher Datensatz, auf den man zugreift, weil man Datensatz evtl. umbenannt hat
- Datensatz wird nicht gefunden
- Name des Datensatzes im Environment unter Umständen anders als Dateiname
- nicht möglich, Datensatz gapminder in Global Environment zu laden
library(gapminder) gapminder ← gapminder
- Probleme, Datensätze korrekt von Moodle herunterzuladen
- Rechtsklick → "Verknüpfte Datei laden" oder "Link speichern unter..." (Rechtsklick bei Mac geht im Default mit Crtl+Klick)
- oder der Datei, beim Speichern, einfach von Hand die Endung ".rda" geben, unabhängig von den im Fenster angegebenen Formaten
load("data.rda")
bei einer csv-Datei- Nur .rda-Dateien können so eingelesen werden; bei anderen Dateiformaten muss auf andere Befehle (z.B.
read.csv()
) zurückgegriffen werden
Base R
View("data")
,str("data")
- Anführungszeichen weglassen
mean(data, variable)
- funktioniert nicht, da Base R → data$Variable
- Berechnung von Mittelwert/Standardabweichung in neuer Variable und überall NA
- vermutlich bei
mean()
undsd()
na.rm=T vergessen C()
c()
muss klein geschrieben werden- Was bedeutet
set.seed()
? Kann man die Funktion mit der Pipe verwenden? - funktioniert nicht mit Pipe, sondern z.B. so:
set.seed(1234)
- Die Funktion hilft uns, unsere Analyse reproduzierbar zu machen, damit nicht jedes Mal, wenn wir den Code abspielen, ein anderes Ergebnis bei einem Verfahren wie Bootstrapping herauskommt.
Datentypen
- Faktor in derselben Variable abgespeichert
- später Probleme, wenn Code zur Erstellung des Faktors nochmal abgespielt wird
- Faktor wird in Datensatz nicht gefunden
- Faktor zwar erstellt, aber nicht mit Zuweisungspfeil dauerhaft im Datensatz abgespeichert
- wird z.B. sichtbar bei Fehlermeldung: "Can't subset columns that don't exist"
- Bei Zeichenketten/character: Objekt nicht gefunden (z.B.
mean(variable)
) - Hinweis darauf, dass man einen Schreibfehler gemacht hat, vergessen hat, den Datensatz zur Variable mit $ anzugeben oder etwas nicht als Zeichenkette eingetragen hat, das eigentlich eine Zeichenkette sein sollte
- nach Reduktion des Datensatzes werden mit
levels()
immer noch alle möglichen Ausprägungen angezeigt - Level bleiben weiterhin im Faktor abgespeichert, haben jedoch die Ausprägung 0
- Unterschied zwischen Faktor und character?
- character=Zeichenkette (individuell), factor=vorgegebene Kategorien (level)
Tidyverse
Dplyr
- Auswählen von zwei Variablen/Faktoren funktioniert nicht
- Variablen/Faktoren existieren nicht im Datensatz (oder wurden falsch erstellt)
- Pipe: Datensatz in jeder Funktion genannt
- Datensatz nur am Anfang einmal nennen, anschließend nicht mehr
filter(data$urlaub.f == "Berge" & lezu_4 ≥6)
filter(data, urlaub.f=="Berge" & lezu_4 ≥6)
(der Fehler liegt darin, dass man bei tidyverse Funktionen nicht "$" verwendet, um Variablen auszuwählen)filter(data, variable ≤ 2,5)
- Punkt statt Komma als Trennzeichen bei Dezimalstellen
- Probleme bei Funktionen, die Spalten zu einzelnem Wert zusammenfassen sollen
- tritt meist auf, wenn nach
rowwise()
odergroup_by()
nicht ungruppiert (ungroup()
) wurde - z.B. bei
quantile()
wird ohneungroup()
dann versucht, aus einem einzigen Wert die Quantile zu bilden —> das 25% und das 75% Quantil sind dann genau identisch (nämlich genau der eine Wert der Person) und die Differenz ergibt dann 0 - manuelle Berechnung von z-Standardisierung in
mutate()
-Befehl funktioniert nicht - Sind wirklich alle Klammern richtig gesetzt? (Achtung, es sind sehr viele Klammern)
data$PROK ← mutate(data, ...)
- dplyr: Input und Output immer ein Datensatz, daher als data abspeichern
data %>% filter() %>% mean()
funktioniert nichtdata %>% filter() %>% summarize(mean(variable))
ODERdata %>% filter() %>% pull(variable) %>% mean()
filter(daten, variable == c("Ausprägung 1", "Ausprägung 2", ...))
klappt nicht- dasselbe gilt auch für
ifelse()
- stattdessen:
variable %in% c("Ausprägung 1", "Ausprägung 2", ...)
odervariable == "Ausprägung 1" | variable == "Ausprägung 2"
- Was auch nicht geht:
mutate(data, variable == "Ausprägung 1" | "Ausprägung 2" | ...)
- Was auch nicht geht:
mutate(data, ifelse("Ausprägung 1", "Ausprägung 2", "Ausprägung 3"))
- Was ist der Unterschied zwischen == c() und %in% c()
- mit dem %in% Operator fragt man: sind die Elemente im linken Objekt im rechten enthalten?
- mit == fragt man: sind die Elemente an jeder Position in den Objekten gleich?
summarize(median = median(X, na.rm=T)
- es fehlt eine Klammer zu
- Unterschied zwischen "summarize" und "summarise"
- beide Funktionen sind synonym, jedoch überlagen sich die Namen manchmal mit den Namen anderer Pakete, z.B. beinhaltet das Paket Hmisc auch eine Funktion "summarize"
- Ohne den Paketnamen mit :: vor die Funktion zu setzten geht R davon aus, dass Sie die Funktion des Pakets meinen, das Sie zuletzt geladen haben. (→ wird Masking genannt)
Ggplot2
geom_flat_violin()
(eingelesen von github mit source()) funktioniert nicht- Paket plyr muss installiert werden
aes(size=geschl.f)
funktioniert nicht- fehlende Werte auf der Variablen geschl.f → ggplot weiß nicht, welche Größe zugeordnet werden soll
- Boxplot wird nur als eine Linie angezeigt
- falsche Berechnung des Skalenmittelwerts, der keine Varianz aufzeigte
- Wann benutzt man bei ggplot2 color und wann fill?
- color: Umrisse, fill: Fläche unter dem geom einfärben
- Regressionsgerade für Männer (nach Filtern) wird nicht angezeigt
- Faktor wurde mit Ausprägung "männlich" erstellt, jedoch wurde nach "m" gefiltert → es kann immer nur nach einer existierenden Variablenausprägung gefiltert werden
- Wofür steht object in der Funktion
mean_cl_normal(object, ...)
? - Objekt = Vektor bzw. Variable eines Datensatzes
Signifikanztests
- nur Mittelwert und keine SD gegeben → klappt nicht
t.test()
zu verwenden - manuelle Berechnung mit Formeln aus der Vorlesung
- Was ist die Teststatistik?
- z-Wert, t-Wert, etc. (der Wert der getestet wird, nicht der Standardfehler!)
- Entspricht die Effektstärke d dem z-Wert?
- Nein, die Formeln sind leicht unterschiedlich (Standardabweichung vs. Standardfehler)
- Fehler bei Berechnung der Effektgröße d, weil d>1?
- kein Fehler, d kann problemlos >1 werden
- Wie die Grenzen des CI angeben, wenn gefragt ist, wie groß das CI ist?
- bei Frage nach der Größe gar keine Grenzen angeben, sondern Differenz aus oberer und unterer Grenze
Modellannahmen
- Wofür steht das Kürzel "ncv"? (
performance::check_model()
) - ncv = non-constant variance → überprüft auf Unterschiede in der Varianz (Homoskedastizität)
Bayesianische Statistik
- Bayes Factor: Um welchen Faktor ist die Nullhypothese wahrscheinlicher als die Alternativhypothese?
- Kehrwert des Bayes Factor bilden: BF01 = 1 / BF10
- Wie kann ich einen Bayes Factor von >999 umwandeln?
- Bayes Factor von >999 kann man wie Bayes Factor = 999 behandeln
- durch die Rundung der Werte keine Auswirkung
Assoziationsmaße
- Warum funktioniert
goodnessOfFitTest(daten§fit.f)
nicht? - Variablen werden mit $, nicht mit § ausgewählt
- Konventionen von
interpret_r()
stimmt teilweise nicht mit Konventionen der zugehörigen Webseite überein - Konventionen von
interpret_r()
stimmen!
ANOVA
- Fehlermeldung bei emmeans()-Befehl: Error in ref_grid(object,...) : Can't handle an object of class "formula"...
- Komma fehlt hinter anova.einf im emmeans()-Befehl