library("rprime") library("knitr") opts_chunk$set( comment = "#>", error = FALSE, tidy = FALSE, collapse = TRUE)
rprime is an R package for parsing
.txt generated by E-Prime, a program for
running psychological experiments.
The main workflow for working with
read_eprime: reliably read in data from an Eprime log (
FrameList: extract the text in each
"LogFrame"in the file, storing each log-frame as an R list.
preview_eprime: explore the structure of the parsed data.
filter_out: select and filter particular levels from the txt-file.
to_data_frame: make a data-frame from the parsed data.
Load the file with
read_eprime and parse its contents with
# Read in an Eprime text file experiment_lines <- read_eprime("data/SAILS/SAILS_001X00XS1.txt") # Extract and parse the log-frames from the file experiment_data <- FrameList(experiment_lines)
In the text file, frames were distinguished by the procedure they are running as
well as the their level of nesting. Get an overview of the different types of
# There are six different kinds of frames in this file preview_levels(experiment_data)
Get a preview of the data in each kind of frame with
preview_eprime (not demonstrated here) does both kinds of previews (levels
drop_levels to filter frames according to nesting level.
# Filter (out) by depth of nesting not_level_1 <- drop_levels(experiment_data, 1) preview_levels(not_level_1) # Filter (in) by depth of nesting just_level_3 <- keep_levels(experiment_data, 3) preview_levels(just_level_3)
filter_out to filter frames using attribute values. Use
repeated filtering statements to drill down into the list of frames.
# Filter (out) by attribute values no_header <- filter_out(experiment_data, "Running", values = "Header") preview_levels(no_header) # Filter (in) by attribute values not_practice <- filter_in(experiment_data, "Running", "TrialLists") preview_levels(not_practice) # Drill down further into the trials by filtering again sue_trials <- filter_in(not_practice, "Module", "SUE") preview_eprime(sue_trials)
Convert to a dataframe with
to_dataframe. Attribute names in the log-frames
become column names in the dataframe.
# Export to dataframe sue_trials_df <- to_data_frame(sue_trials) str(sue_trials_df, vec.len = 2) # Don't need every column columns_to_keep <- c("Eprime.Basename", "Module", "Sample", "Correct", "Response") sue_trials_df <- sue_trials_df[columns_to_keep] head(sue_trials_df)
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.