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 |
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
MAUCtest(Yvec,timevec,transfusionvec,fig = T,SD_est=F,num.permu=1000)
MAUCtest(Yvec,timevec,transfusionvec,fig = T,SD_est=F,num.permu=1000)
Yvec |
The outcome of NIRS time series |
timevec |
The time index of NIRS time series |
transfusionvec |
The 0/1 indicator of the transfusion status |
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. |
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.
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_post |
SD of the MAUC statistic for post-transfusion. Optional, only when |
Yikai Wang [Emory], Xiao Wang [ICF]
Maintainer: Yikai Wang [email protected]
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.
# 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)
# 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)
This function visualizes the NIRS time series data and estimates the underlying smoothed trend of the NRIS based on a nonparametric regression approach.
plotNIRS(Yvec,timevec,transfusionvec)
plotNIRS(Yvec,timevec,transfusionvec)
Yvec |
The outcome of NIRS time series |
timevec |
The time index of NIRS time series |
transfusionvec |
The 0/1 indicator of the transfusion status |
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.
Yikai Wang [Emory], Xiao Wang [ICF]
Maintainer: Yikai Wang [email protected]
# 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)
# 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)
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
Slopetest(Yvec,timevec,transfusionvec,SD_est=F,num.permu=1000)
Slopetest(Yvec,timevec,transfusionvec,SD_est=F,num.permu=1000)
Yvec |
The outcome of NIRS time series |
timevec |
The time index of NIRS time series |
transfusionvec |
The 0/1 indicator of the transfusion status |
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. |
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.
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_post |
SD of the Slope statistic for post-transfusion. Optional, only when |
Yikai Wang [Emory], Xiao Wang [ICF]
Maintainer: Yikai Wang [email protected]
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.
# 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)
# 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)