From 05b4b47a9798bbe08bf6c0a219a5f270a0bcb67d Mon Sep 17 00:00:00 2001 From: Joakim Skogholt Date: Sat, 15 Jun 2024 16:15:17 +0200 Subject: [PATCH] Added SNV --- src/Ting.jl | 1 + src/variousRegressionFunctions.jl | 16 +++++++++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/Ting.jl b/src/Ting.jl index 4b98f8e..b173dda 100644 --- a/src/Ting.jl +++ b/src/Ting.jl @@ -30,6 +30,7 @@ export TRLooCVUpdateNaive export TRLooCVUpdateExperimental # From "variousRegressionFunctions.jl" +export SNV export EMSC export EMSCCorrection export cVals diff --git a/src/variousRegressionFunctions.jl b/src/variousRegressionFunctions.jl index 8307bd3..f6fda96 100644 --- a/src/variousRegressionFunctions.jl +++ b/src/variousRegressionFunctions.jl @@ -1,9 +1,19 @@ +function SNV(X) + +X_SNV = zeros(size(X)); +means = mean(X, dims=2); +stds = std(X, dims=2); +X_SNV = @. (X - means) / stds; + +return X_SNV; +end + function EMSCCorrection(X, basis) - coeffs = basis \ X'; - X_Cor = (X - coeffs[2:end,:]' * basis[:,2:end]') ./ coeffs[1,:]; +coeffs = basis \ X'; +X_Cor = (X - coeffs[2:end,:]' * basis[:,2:end]') ./ coeffs[1,:]; - return X_Cor +return X_Cor end function EMSC(X, polDeg=2)