Nothing
## ----include = FALSE----------------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.width = 7
)
## ----setup--------------------------------------------------------------------
library(tidyverse)
library(rticulate)
library(rcartocolor)
## ----read-data----------------------------------------------------------------
it01_dlc_path <- system.file("extdata/it01-dlc.tsv", package = "rticulate")
it01_dlc <- read_aaa(it01_dlc_path) |>
# Let's rename some columns.
rename(
date_time = `Date Time of recording`,
time_rec = `Time of sample in recording`,
time_annot = `Time of sample in annot`
)
it01_dlc
## ----it01-tongue--------------------------------------------------------------
it01_tongue <- it01_dlc |>
filter(spline == "DLC_Tongue")
## ----fs-mean------------------------------------------------------------------
it01_dlc |>
group_by(displ_id) |>
mutate(dt = time_annot - lag(time_annot)) |>
summarise(mean_dt = mean(dt, na.rm = TRUE)) |>
summarise(mean_fs = round(mean(1/mean_dt)))
## ----it01-tongue-plot---------------------------------------------------------
it01_tongue |>
filter(knot == "8") |>
ggplot(aes(time_annot, Y, group = date_time)) +
annotate("rect",
ymin = -Inf, ymax = Inf, xmin = 0.3, xmax = 0.5,
alpha = 0.25, fill = "purple") +
geom_line()
## ----filter-sg-test-----------------------------------------------------------
sg_plot <- it01_tongue |>
filter(displ_id == 29) |>
ggplot(aes(time_annot, Y)) +
geom_line(linetype = "dashed")
for (wl in c(5, 7, 9, 11, 15)) {
sg_plot <- sg_plot +
geom_line(
aes(
y = filter_signal(Y, order = 2, window_length = {{ wl }}, apply = 2),
colour = as.factor({{ wl }})
), linewidth = 1.5, alpha = 0.7
)
}
sg_plot + scale_colour_carto_d(palette = "Safe", name = "Window\nlength")
## ----filter-sg----------------------------------------------------------------
it01_tongue <- it01_tongue |>
mutate(
Y_sm = filter_signal(Y, order = 2, window_length = 7, apply = 2),
.by = displ_id
)
it01_tongue |> select(time_annot, Y, Y_sm)
## ----filter-sg-plog-----------------------------------------------------------
it01_tongue |>
filter(knot == "8") |>
ggplot(aes(time_annot, Y, group = date_time)) +
geom_line(alpha = 0.25) +
geom_line(aes(y = Y_sm), colour = "purple")
## ----filter-sg-sample---------------------------------------------------------
set.seed(13579)
kdi <- sample(unique(it01_tongue$displ_id), 9)
it01_tongue |>
filter(displ_id %in% kdi) |>
ggplot(aes(time_annot, Y)) +
geom_line() +
geom_point(aes(y = Y_sm), colour = "red") +
facet_wrap(vars(displ_id), scales = "free")
## ----filter-b-----------------------------------------------------------------
it01_tongue <- it01_tongue |>
mutate(
Y_smb = filter_signal(Y, filter = "butter", cutoff_freq = 10, sampling_freq = 67),
.by = displ_id
)
it01_tongue |> select(time_annot, Y, Y_smb)
## ----filter-b-plot------------------------------------------------------------
it01_tongue |>
filter(knot == "8") |>
ggplot(aes(time_annot, Y, group = date_time)) +
geom_line(alpha = 0.25) +
geom_line(aes(y = Y_smb), colour = "orange")
## ----filter-both--------------------------------------------------------------
it01_tongue |>
filter(knot == "8") |>
ggplot(aes(time_annot, Y, group = date_time)) +
geom_point(aes(y = Y_sm), pch = 15, size = 2, colour = "purple") +
geom_point(aes(y = Y_smb), pch = 18, size = 1, colour = "white") +
facet_wrap(vars(displ_id))
## ----upsample-----------------------------------------------------------------
it01_tongue_up <- it01_tongue |>
reframe(
resample_signal(Y_sm, time_annot, by = 3),
.by = displ_id
)
# Nothing exceptional here, just doing some wrangling to get the info back
it01_tongue_up <- it01_tongue_up |>
left_join(y = it01_tongue |> select(Prompt, spline, knot, displ_id) |> distinct()) |>
rename(Y_sm_up = signal_int)
it01_tongue_up
## ----upsample-plot------------------------------------------------------------
it01_tongue_up |>
filter(knot == 8) |>
ggplot(aes(time_int, Y_sm_up, group = displ_id)) +
geom_point(alpha = 0.25) +
geom_line()
## ----upsample-smooth----------------------------------------------------------
it01_tongue_up <- it01_tongue_up |>
mutate(
Y_sm_up_sm = filter_signal(Y_sm_up, order = 2, window_length = 7, apply = 2),
.by = displ_id
)
it01_tongue_up |>
filter(knot == 8) |>
ggplot(aes(time_int, Y_sm_up_sm, group = displ_id)) +
geom_point(alpha = 0.25) +
geom_line()
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.