Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
RMarkdown file showing the nirs data analysis
title: "Loading and plotting nirs data"
author: "Eryk Walczak"
date: "18 December 2016"
html_document: default
pdf_document: default
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE, message = FALSE, warning = FALSE)
## Loading
Install the necessary packages if not available:
# install.packages("R.matlab")
Load the nirs file
data <- readMat("Simple_Probe.nirs")
Nirs format description is available [here](
## Exploring
Get the available variable names
Find the dimensions of data: samples and channels
# number of channels
## Plotting
Create a custom plotting function
myPlot <- function(y){
plot(data$t, y,
type = "l",
xlab = "Time", ylab = "Intensity",
ylim = c(range(data$d)),
main = paste("Channel ", toString(y)))
# add the lines when triggers occur
lines(data$t, data$s*1500, # multiply the trigger value to make it visible
type = "l", xlab = "Time", col = "red")
Apply the plotting function to all channels
apply(data$d[, 1:ncol(data$d)], 2, myPlot)
Session info:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment