Added the first attempt at CCRE

This commit is contained in:
Renken 2020-02-20 18:14:55 +01:00
parent 2c7a9f90f0
commit baac9e2032
2 changed files with 17 additions and 5 deletions

View File

@ -104,7 +104,13 @@ classdef CREClass < handle
LogFC=log(FC);
LogFC(~isfinite(LogFC))=0;%the log of 0 is -inf. however in Fc.*logFc it should end up as 0. to avoid conflicts removing the -inf
if any(isnan(FC));error('something went wrong');end %catch a posible error.
obj.CRE=-transpose(dl)*(FC.*LogFC)./(transpose(dl)*FC); %CRE zografos
if transpose(dl)*FC==0;
%if only one value in the most left bin in the distribution I may get a 0 divided by 0
%as the CRE of a delta function is 0, enforce this outcome
obj.CRE=0;
else
obj.CRE=-transpose(dl)*(FC.*LogFC)./(transpose(dl)*FC); %CRE zografos
end
%% get the RB
dl(FC>0.5)=0; %set the weight for all in the histogram to the left side (i.e. <p50) to 0
CRE_Med_Inf=-transpose(dl)*(FC.*LogFC)./(transpose(dl)*FC); %CRE zografos

View File

@ -1,5 +1,5 @@
S=CREClass;
S.Data=randn(100000,1);
S.Data=randn(100,1);
S.nBin=(1000);
%% use histogram
S.UseHistProxy=true;
@ -13,10 +13,16 @@ std(S.Data)
%% multiply S
S.Data=100*S.Data;
S.UseHistProxy=true;
S.Calc
S.Calc;
S
std(S.Data)
%% ones again the "new" way
S.UseHistProxy=false;
S.Calc
S
S.Calc;
S
%% Test CCRE class
CS=CCREClass;
CS.Data=randn(100,1);
CS.nBin=10;
CS.DataRef=randn(100,1);
CS.nBinRef=10;