View source: R/tensor-baseline-voltage.R
voltage_baseline | R Documentation |
Calculate voltage baseline
voltage_baseline(
x,
baseline_windows,
method = c("percentage", "zscore", "subtract_mean"),
units = c("Trial", "Electrode"),
...
)
## S3 method for class 'rave_prepare_subject_raw_voltage_with_epoch'
voltage_baseline(
x,
baseline_windows,
method = c("percentage", "zscore", "subtract_mean"),
units = c("Trial", "Electrode"),
electrodes,
baseline_mean,
baseline_sd,
...
)
## S3 method for class 'rave_prepare_subject_voltage_with_epoch'
voltage_baseline(
x,
baseline_windows,
method = c("percentage", "zscore", "subtract_mean"),
units = c("Trial", "Electrode"),
electrodes,
baseline_mean,
baseline_sd,
...
)
## S3 method for class 'FileArray'
voltage_baseline(
x,
baseline_windows,
method = c("percentage", "zscore", "subtract_mean"),
units = c("Trial", "Electrode"),
filebase = NULL,
...
)
## S3 method for class 'array'
voltage_baseline(
x,
baseline_windows,
method = c("percentage", "zscore", "subtract_mean"),
units = c("Trial", "Electrode"),
...
)
x |
R array, |
baseline_windows |
list of baseline window (intervals) |
method |
baseline method; choices are |
units |
the unit of the baseline; see 'Details' |
... |
passed to other methods |
electrodes |
the electrodes to be included in baseline calculation;
for power repository object produced by |
baseline_mean, baseline_sd |
internally used by 'RAVE' repository, provided baseline is not contained in the data. This is useful for calculating the baseline with data from other blocks. |
filebase |
where to store the output; default is |
The arrays must be three-mode tensor and must have valid named
dimnames
. The dimension names must be 'Trial'
,
'Time'
, 'Electrode'
, case sensitive.
The baseline_windows
determines the baseline windows that are used to
calculate time-points of baseline to be included. This can be one
or more intervals and must pass the validation function
validate_time_window
.
The units
determines the unit of the baseline. It can be either or
both of 'Trial'
, 'Electrode'
. The default
value is both, i.e., baseline for each combination of trial and electrode.
The same type as the inputs
## Not run:
# The following code need to download additional demo data
# Please see https://rave.wiki/ for more details
library(raveio)
repo <- prepare_subject_raw_voltage_with_epoch(
subject = "demo/DemoSubject",
time_windows = c(-1, 3),
electrodes = c(14, 15))
##### Direct baseline on repository
voltage_baseline(
x = repo, method = "zscore",
baseline_windows = list(c(-1, 0), c(2, 3))
)
voltage_mean <- repo$raw_voltage$baselined$collapse(
keep = c(1,3), method = "mean")
matplot(voltage_mean, type = "l", lty = 1,
x = repo$raw_voltage$dimnames$Time,
xlab = "Time (s)", ylab = "Voltage (z-scored)",
main = "Mean coltage over trial (Baseline: -1~0 & 2~3)")
abline(v = 0, lty = 2, col = 'darkgreen')
text(x = 0, y = -0.5, "Aud-Onset ", col = "darkgreen", cex = 0.6, adj = c(1,1))
##### Alternatively, baseline on each electrode channel
voltage_mean2 <- sapply(repo$raw_voltage$data_list, function(inst) {
re <- voltage_baseline(
x = inst, method = "zscore",
baseline_windows = list(c(-1, 0), c(2, 3)))
rowMeans(re[])
})
# Same with floating difference
max(abs(voltage_mean - voltage_mean2)) < 1e-8
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.