Package 'NIRStat'

Title: Novel Statistical Methods for Studying Near-Infrared Spectroscopy (NIRS) Time Series Data
Description: Provides transfusion-related differential tests on Near-infrared spectroscopy (NIRS) time series with detection limit, which contains two testing statistics: Mean Area Under the Curve (MAUC) and slope statistic. This package applied a penalized spline method within imputation setting. Testing is conducted by a nested permutation approach within imputation. Refer to Guo et al (2018) <doi:10.1177/0962280218786302> for further details.
Authors: Yikai Wang [Emory University], Xiao Wang [ICF]
Maintainer: Yikai Wang <[email protected]>
License: GPL-2
Version: 1.1
Built: 2025-02-12 04:41:01 UTC
Source: https://github.com/cran/NIRStat

Help Index


MAUC statistics based Analysis for NIRS time series.

Description

Estimate the Mean Area Under the Curve (MAUC) statistics and conduct a nonparametric test on the MAUC difference before transfuion and after trasfusion. If detection limit occurs at 15

Usage

MAUCtest(Yvec,timevec,transfusionvec,fig = T,SD_est=F,num.permu=1000)

Arguments

Yvec

The outcome of NIRS time series Y(ti)Y(t_{i}) of length N ranging from 15 to 100.

timevec

The time index of NIRS time series tit_{i} of length N.

transfusionvec

The 0/1 indicator of the transfusion status X(ti)X(t_{i}). X(ti)=0X(t_{i})=0 means the current time point is before transfusion and X(ti)=1X(t_{i})=1 means the current time point is after transfusion.

fig

Whether to plot the NIRS time series. Default value is TRUE.

SD_est

Whether to estimate the SD of the MAUC statistic for pre-transfusion and post-transfuion. Default value is FALSE.

num.permu

Number of permutation for permutation test. Default value is 1000.

Details

This functinon estimates the Mean Area Under the Curve (MAUC) statistics and conducts a permutation based test on the MAUC difference before transfuion and after trasfusion. If detection limit (DL) occurs (15), it will impute the missed data based on a uniform distribution and estimate the MAUC statistics through a standard imputation approach. The statistical testing is conducted through a nested permutation approach across all imputated datasets.

Value

An R vector from MAUCtest containing MAUC statistics and Pvalue in the following order:

MAUC.before

The estimated MAUC statistic before transfusion.

MAUC.after

The estimated MAUC statistic after transfusion.

MAUC.diff

The estimated MAUC statistic difference between before transfusion and after transfusion.

Pvalue

The pvalue of testing the MAUC difference to be zero or not.

SD_pre

SD of the MAUC statistic for pre-transfusion. Optional, only when SD_est = TRUE.

SD_post

SD of the MAUC statistic for post-transfusion. Optional, only when SD_est = TRUE.

Author(s)

Yikai Wang [Emory], Xiao Wang [ICF]
Maintainer: Yikai Wang [email protected]

References

Guo, Y., Wang, Y., Marin, T., Kirk, E., Patel, R., Josephson, C. Statistical methods for characterizing transfusion-related changes in regional oxygenation using Near-infrared spectroscopy in preterm infants. Statistical methods in medical research 28.9 (2019): 2710-2723.

Examples

# Data Simulation
dat = data.frame(Y= rep(0,100),t=1:100,trans = c(rep(0,50),rep(1,50)))
dat$Y = apply(dat,1,function(x){rnorm(1,5*rnorm(1),6*exp(rnorm(1)))})
dat$Y = dat$Y + 15 - quantile(dat$Y,0.3) 
dat$Y[dat$Y<=15] = 15


# Estimate the MAUC statistics of the NIRS data and test on the difference. 
MAUCtest(dat$Y,dat$t,dat$trans,TRUE,FALSE,100)

NIRS Time Series Visualization

Description

This function visualizes the NIRS time series data and estimates the underlying smoothed trend of the NRIS based on a nonparametric regression approach.

Usage

plotNIRS(Yvec,timevec,transfusionvec)

Arguments

Yvec

The outcome of NIRS time series Y(ti)Y(t_{i}) of length N ranging from 15 to 100.

timevec

The time index of NIRS time series tit_{i} of length N.

transfusionvec

The 0/1 indicator of the transfusion status X(ti)X(t_{i}). X(ti)=0X(t_{i})=0 means the current time point is before transfusion and X(ti)=1X(t_{i})=1 means the current time point is after transfusion.

Details

This function visualizes the NIRS time series data before and after transfusion. In order to estimate the underlying smoothed curve, it first imputes the data with detection limit (DL) and utilizes a nonparametric regression approach for the imputed data. The time points with DL is in red and others are in black.

Author(s)

Yikai Wang [Emory], Xiao Wang [ICF]
Maintainer: Yikai Wang [email protected]

Examples

# Data Simulation
dat = data.frame(Y= rep(0,200),t=1:200,trans = c(rep(0,100),rep(1,100)))
dat$Y = apply(dat,1,function(x){rnorm(1,5*rnorm(1),6*exp(rnorm(1)))})
dat$Y = dat$Y + 15 - quantile(dat$Y,0.3) 
dat$Y[dat$Y<=15] = 15


# Visualize the NIRS time series before and after transfusion. 
plotNIRS(dat$Y,dat$t,dat$trans)

Slope statistics based Analysis for NIRS data.

Description

Estimate the slope statistics and conduct a nonparametric based test on the slope difference before transfuion and after trasfusion. If detection limit occurs at 15

Usage

Slopetest(Yvec,timevec,transfusionvec,SD_est=F,num.permu=1000)

Arguments

Yvec

The outcome of NIRS time series Y(ti)Y(t_{i}) of length N ranging from 15 to 100.

timevec

The time index of NIRS time series tit_{i} of length N.

transfusionvec

The 0/1 indicator of the transfusion status X(ti)X(t_{i}). X(ti)=0X(t_{i})=0 means the current time point is before transfusion and X(ti)=1X(t_{i})=1 means the current time point is after transfusion.

SD_est

Whether to estimate the SD of the SLOPE statistic for pre-transfusion and post-transfuion. Default value is FALSE.

num.permu

Number of permutation for permutation test. Default value is 1000.

Details

This function estimates the slope statistics before transfusion and after transfusion based on penalized regression spline method and tests the difference based on a within-band permutation approach. If there is detection limit occurs (15), it will impute the missed data based on a uniform distribution and estimate the slope statistics through a standard imputation approach. The statistical testing is conducted through a nested within-band permutation approach across all imputated datasets.

Value

An R vector from Slopetest containing Slope statistics and Pvalue in the following order:

Slope.before

The estimated Slope statistic before transfusion.

Slope.after

The estimated Slope statistic after transfusion.

Slope.diff

The estimated Slope statistic difference between before transfusion and after transfusion.

Pvalue

The pvalue of testing the Slope difference to be zero or not.

SD_pre

SD of the Slope statistic for pre-transfusion. Optional, only when SD_est = TRUE.

SD_post

SD of the Slope statistic for post-transfusion. Optional, only when SD_est = TRUE.

Author(s)

Yikai Wang [Emory], Xiao Wang [ICF]
Maintainer: Yikai Wang [email protected]

References

Guo, Y., Wang, Y., Marin, T., Kirk, E., Patel, R., Josephson, C. Statistical methods for characterizing transfusion-related changes in regional oxygenation using Near-infrared spectroscopy in preterm infants. Statistical methods in medical research 28.9 (2019): 2710-2723.

Examples

# Data Simulation
dat = data.frame(Y= rep(0,100),t=1:100,trans = c(rep(0,50),rep(1,50)))
dat$Y = apply(dat,1,function(x){rnorm(1,5*rnorm(1),6*exp(rnorm(1)))})
dat$Y = dat$Y + 15 - quantile(dat$Y,0.3) 
dat$Y[dat$Y<=15] = 15


# Estimate the Slope statistics of the NIRS data and test on the difference. 
Slopetest(dat$Y,dat$t,dat$trans,FALSE,100)