Übung 3

Daten importieren und bereinigen.

Published

2022-03-18

Note

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

Note

Aufgabe 1

  1. Speichern Sie das CSV File in Ihren Projektordner.

  2. Lesen Sie das CSV File ein. Per Konvention verwenden wir den Variablennamen d für den Datensatz.

  3. Überprüfen Sie, ob alle Variablen vorhanden sind. Verwenden Sie z.B. die Funktion glimpse().

  4. Konvertieren Sie die Gruppierungsvariablen subject und condition zu Faktoren.

d <- read_csv("___")

Schauen Sie sich die Variablen an:

Konvertieren Sie die Gruppierungsvariablen zu Faktoren:

d <- d |>
    mutate(___ = as_factor(___),
           ___ = as_factor(___))
Note

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)

excluded
d_cleaned <- d |>
    filter(!(subject %in% excluded$subject)) |>
    mutate(subject = fct_drop(subject))
Note

Aufgabe 3

  1. Gibt es einzelne Trials, in denen Versuchpersonen länger als 4 Standardabweichungen über dem Bedingungsmittelwert gebraucht haben, um zu Antworten?

  2. Gibt es einzelne Trials, in denen Versuchpersonen zu schnell (unter 100 ms) geantwortet haben?

  3. 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 <- d_cleaned |>
    filter(trial_type == "OK") |>
    select(subject, trial_num, condition, signal_present, correct, rt)
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(___)
Tip

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

BibTeX 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}
}
For attribution, please cite this work as:
Andrew Ellis. 2022. “Übung 3.” March 18, 2022. https://kogpsy.github.io/neuroscicomplabFS22//pages/exercises/exercise_03.html.