Übung 3
Daten importieren und bereinigen.
Die Aufgaben, die Sie bearbeiten sollen, finden Sie in einem gelben Kasten. Optionale Aufgaben sind in orangen Kästen.
In diesem File finden Sie Beispielscode. Manche Zeilen enthalten ___. Hier müssen Sie den Code vervollständigen.
Laden Sie bitte Ihre Lösung als ZIP File bis Freitag, 25.03.2022, um 00:00 Uhr, in den Order für Übung 3 auf ILIAS. Das ZIP File sollte ein R Skript enthalten, sowie den bereinigten Datensatz.
Nennen Sie Ihr File Matrikelnummer_Nachname_uebung-3.zip.
Aufgabenstellung
In dieser Aufgabe bearbeiten Sie Daten aus einem Detektionssexperiment. Versuchspersonen mussten in zwei Bedingungen (bias und no_bias) ein Signal, welches in Rauschen eingebettet war, detektieren. Im Datensatz sind folgende Variablen:
subject: Subjekt ID
trial_num: Trialnummer, durchnummeriert in jeder Bedingung
condition: Bedingung (_Bias_ und _No Bias_)
signal_present: Indikatorvariable für Signal (0: absent, 1: present)
correct: Indikatorvariable für korrekte Antwort (0: incorrekt, 1: correct)
rt: Reaktionszeit in Sekunden
Aufgaben
Aufgabe 1
Speichern Sie das CSV File in Ihren Projektordner.
Lesen Sie das CSV File ein. Per Konvention verwenden wir den Variablennamen
dfür den Datensatz.Überprüfen Sie, ob alle Variablen vorhanden sind. Verwenden Sie z.B. die Funktion
glimpse().Konvertieren Sie die Gruppierungsvariablen
subjectundconditionzu Faktoren.
d <- read_csv("___")Schauen Sie sich die Variablen an:
glimpse(d)Konvertieren Sie die Gruppierungsvariablen zu Faktoren:
d <- d |>
    mutate(___ = as_factor(___),
           ___ = as_factor(___))Aufgabe 2
Gibt es Versuchspersonen die in einer der Bedingungen Reaktionszeiten hat, welche mehr als zwei Standardabweichungen über dem Bedingungsmittelwert liegen?
# summary stats (means) for subjects/conditions
sum_stats_participants <- d |>
    group_by(___, ___) |>
    dplyr::summarise(
        mean_P = mean(___))# summary stats (means and SDs) for conditions
sum_stats_conditions <- d |>
    group_by(___) |>
    dplyr::summarise(
        mean_C = mean(__),
        sd_C = sd(___))sum_stats_participants <-
    full_join(
        sum_stats_participants,
        sum_stats_conditions,
        by = "condition") |>
    mutate(outlier_P = ___)# show outlier participants
sum_stats_participants |>
    filter(outlier_P == 1) |>
    show()excluded <- sum_stats_participants |>
    filter(outlier_P == 1)
excludedAufgabe 3
Gibt es einzelne Trials, in denen Versuchpersonen länger als 4 Standardabweichungen über dem Bedingungsmittelwert gebraucht haben, um zu Antworten?
Gibt es einzelne Trials, in denen Versuchpersonen zu schnell (unter 100 ms) geantwortet haben?
Speichern Sie den bearbeiteten Datensatz als CSV File.
d_cleaned <- d_cleaned |>
    full_join(
        sum_stats_conditions,
        by = "condition") |>
    mutate(
        trial_type = case_when(
            ___ > ___ ~ "too slow",
            ___ < ___ ~ "too fast",
            TRUE ~ "OK") |>
            factor(levels = c("OK", "too fast", "too slow")))d_cleaned |>
    ggplot(aes(x = trial_num, y = rt, color = trial_type, shape = trial_type)) +
    geom_point(alpha = 0.6) +
    facet_grid(~condition) +
    scale_color_manual(values = c("gray70", "red", "steelblue"))d_cleaned |>
    filter(trial_type != "OK")d_cleaned |>
    ggplot(aes(x = trial_num, y = rt)) +
    geom_point(alpha = 0.6) +
    facet_grid(~condition) +
    scale_color_manual(values = c("gray70", "red", "steelblue"))d_cleaned |> write_csv(___)Optionale Aufgabe
Die Aufgaben oben bieten lediglich Voschläge, wie man “Ausreisser” identifizieren könnte. Wenn Sie andere Voschläge haben, können Sie den Code anpassen, oder selber Code schreiben. Können Sie Ihr Vorgehen begründen?
Reuse
Citation
@online{ellis2022,
  author = {Andrew Ellis},
  title = {Übung 3},
  date = {2022-03-18},
  url = {https://kogpsy.github.io/neuroscicomplabFS22//pages/exercises/exercise_03.html},
  langid = {en}
}