У меня есть простая примерная матрица следующим образом: (Фактическая матрица, над которой я работаю, составляет 674x11 и не просто все элементы «1»).Создание кумулятивной матрицы, которая учитывает начальные точки столбца
a =
1 1 1 NaN NaN
1 1 1 NaN NaN
1 1 1 1 NaN
1 1 1 1 1
1 1 1 1 1
Я хочу создать кумулятивную матрицу, которая учитывает тот факт, что числовые элементы начинают в каждом столбце в разных строках. Я хочу добиться этого, заменив значение NaN над первым числовым элементом в каждом столбце средним значением этой строки.
Таким образом, вместо:
cumsum(a)=
1 1 1 NaN NaN
2 2 2 NaN NaN
3 3 3 1 NaN
4 4 4 2 1
5 5 5 3 2
, что я хочу достичь, это:
cumsum(a) =
1 1 1 NaN NaN
2 2 2 2 NaN
3 3 3 3 3
4 4 4 4 4
5 5 5 5 5
где элемент (2,4) является среднее A (2,1: 3) и элемент (3,5) - среднее значение a (3,1: 4).
Вы хотите заменить * все значения 'NaN' на выходе? – Suever
В вашем примере есть проблема. Разве это не должно быть «элемент (2,4) - это среднее значение cumsum (a) (2,1: 3)»? – rahnema1
На самом деле, размышляя над проблемой, вы правы. Элементом (2,4) должно быть среднее значение cumsum (a) (2,1: 3). –