emgR overview

Install emgR package

# install.packages("devtools") if not installed
#detach("package:emgR",unload=T)
#remove.packages("emgR")
devtools::install_github("https://github.com/ymatts/emgR")
library(emgR)

Data acquisition

data(emg)
head(emg,3)

Constructing object

dat = emg[emg$pid=="P0001",]
nCycle = 3
dat = dat[dat$cycle %in% (1:nCycle),]
tt = dat$Time # Time record
xx = dat[,-c(1:6)] # EMG record
obj = emgR::emgList(x = xx,t = tt)
obj

Envelope

obj = emgR::envelope(obj,order = 4,filtFreq = c(5,100))
obj

Normalize sEMG signals

obj = emgR::normalize(obj)
obj

envelope

matplot(obj$filter$emg,type="l")

Normalized time (down sampling)

obj = emgR::downSample(obj,nn = 100)
obj

Envelope with normalized time

matplot(obj$filter$emg,type="l",xlab="normalized time",ylab="mV")

Muscle synergy (2D-array)

obj = emgR::muscleSynergy2D.rankEst(obj)
plot(obj$synergy$estimRank)

Muscle synergy (2D-array)

obj = emgR::muscleSynergy2D(obj,rank = 4)
syns = 1:obj$synergy$rank
matplot(obj$synergy$W,type="l",main="Synergy basis (W)",ylab="mV",xlab="normalized time")
legend("topright",legend = paste("Synergy",syns),col=syns,lty = syns)

Muscle synergy (2D-array)

pheatmap(obj$synergy$H,labels_row = paste("Synergy",syns))


ymatts/emgR documentation built on March 7, 2020, 12:52 a.m.