Predicting Mortality of ICU Patients: The PhysioNet/Computing in Cardiology Challenge 2012 1.0.0

File: <base>/sources/lciti_at_neurostat.mit.edu/entry7/condit_subject.m (707 bytes)
function [SubjectsC, Condit] = condit_subject(Subjects, Condit)

learning = ischar(Condit);
if learning
    Condit = struct('fn_name', Condit);
end
condit_fn = str2func(Condit.fn_name);

SubjectsC = Subjects;

f1 = {'Desc', 'TSeries'};
for i1 = 1:length(f1)
    f2 = fieldnames(Subjects(1).(f1{i1}));
    for i2 = 1:length(f2)
        if learning
            vals = cell2mat(arrayfun(@(x) x.(f1{i1}).(f2{i2})(:,end), Subjects, 'UniformOutput', false));
            Condit.(f1{i1}).(f2{i2}) = condit_fn(vals);
        end
        for s = 1:length(Subjects)
            SubjectsC(s).(f1{i1}).(f2{i2})(:,end) = condit_fn(Subjects(s).(f1{i1}).(f2{i2})(:,end), Condit.(f1{i1}).(f2{i2}));
        end
    end
end