У меня есть набор данных, где я записал значения в наборах из 3 показаний (чтобы иметь возможность получить общее представление о SEM). Я записал их в список, который выглядит следующим образом, который я пытаюсь свернуть в средние значения каждого набора из 3 точек:
Я хочу свернуть по существу каждые 3 строки в одну строку, где для этого набора указано среднее значение данных. По сути, это будет выглядеть следующим образом:
Это то, что я знаю, как сделать в основном в Excel (т.е. используя сводную таблицу), но я не уверен, как сделать то же самое в MATLAB. Я пытался использовать accumarray
, но мне сложно понять, как по существу включить несколько условий. Мне нужно было бы создать массив subs
, где его номер соответствует каждому уникальному набору из 3 точек данных. Путем грубой силы я мог бы создать такой массив, как:
subs = [1 1 1; 2 2 2; 3 3 3; 4 4 4; ...]'
используя некоторый цикл и иметь его в качестве моего массива сабвуферов, но поскольку он не привязан к самим данным, и могут быть странные сбои повсюду (например, более 3 точек данных на набор или отсутствующие данные и т. д.). Я знаю, что должен быть какой-то способ группировать что-то вроде сводной таблицы для чего-то подобного, но мне нужна помощь, чтобы сдвинуть его с мертвой точки. Спасибо.
Вот входные данные в текстовом виде:
Subject Flow On/Off Values
1 10 1 2.20
1 10 1 2.50
1 10 1 2.60
1 20 1 5.50
1 20 1 6.10
1 20 1 5.90
1 30 1 10.10
1 30 1 10.50
1 30 1 10.50
1 10 0 1.90
1 10 0 2.20
1 10 0 2.30
1 20 0 5.20
1 20 0 5.80
1 20 0 5.60
1 30 0 9.80
1 30 0 10.20
1 30 0 10.20
2 10 1 5.70
2 10 1 6.00
2 10 1 6.10
2 20 1 9.00
2 20 1 9.60
2 20 1 9.40
2 30 1 13.60
2 30 1 14.00
2 30 1 14.00
2 10 0 5.40
2 10 0 5.70
2 10 0 5.80
2 20 0 8.70
2 20 0 9.30
2 20 0 9.10
2 30 0 13.30
2 30 0 13.70
2 30 0 13.70
2.13
? Какие числа там усредняются? - person Luis Mendo   schedule 17.05.2017