Create a gist now

Instantly share code, notes, and snippets.

RMarkdown file showing the nirs data analysis
title author date output
Loading and plotting nirs data
Eryk Walczak
18 December 2016
html_document pdf_document
default
default
knitr::opts_chunk$set(echo = TRUE, message = FALSE, warning = FALSE)

Loading

Install the necessary packages if not available:

# install.packages("R.matlab")
library(R.matlab)

Load the nirs file

data <- readMat("Simple_Probe.nirs")

Nirs format description is available here

Exploring

Get the available variable names

names(data)

Find the dimensions of data: samples and channels

dim(data$d)

# number of channels
ncol(data$d)

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:

sessionInfo()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment