Был проведен эксперимент, в ходе которого некоторые лица (ID: 1, 2, 3) получали несколько обработок (лечение: A, B, C). Переменная Response регистрировалась три раза после каждой обработки (время: 0, 1, 2). Для каждой комбинации идентификаторов и лечения, таким образом, существуют 3 выхода.вычитание по классу (Matlab)
Мои данные в продольном формате и состоит из двух объектов: datalabel и DataMatrix
Datalabel является 27 * 3 клетка, которая содержит информацию о комбинации ID, лечения и времени результатов в Datamatrix двойной (27x1).
Datalabel выглядит следующим образом:
{'1', 'A', '0';
'1', 'A', '1';
'1', 'A', '2';
'1', 'B', '0';
'1', 'B', '1';
%datapoints in between
'3', 'C', '1';
'3', 'C', '2'}
Datamatrix выглядит следующим образом:
[1;3;4;6; 8;
%datapoints in between
2;8]
То, что я хотел бы сделать это, для каждой комбинации ID и лечения, вычитать выход в момент времени 0 от всех трех выходов. Результатом будет новый 27x1 двойной, который выглядит следующим образом:
[0;2;3;0; 2;
%datapoints in between
-1;5]
В этом случае это не так уж сложно. Но я хотел бы найти общее решение, которое работает независимо от того, сколько разных уровней «уур», «лечение» и «идентификатор» есть, что работает, когда некоторые животные не получили определенного лечения, и это работает, когда отсутствуют наблюдения (не для uur = 0).
Я надеюсь, что моя проблема ясна, и что кто-то может помочь,
Заранее спасибо!
Можете ли вы объяснить, что вы подразумеваете под «вычитанием выхода в момент времени 0 из всех трех выходов». и как вы получите матрицу '[0; 2; 3; 0; 2; ... ' –
также, ваша оригинальная матрица 27x1, будет ли все столбцы 3 всегда (0,1,2) повторены? Просто для понимания –
Для каждой комбинации идентификаторов и обработки есть три ответа в момент времени 0, 1 и 2. Я бы хотел вычесть ответ в момент времени 0 из ответа в момент времени 1 и время 2. – Nightingale