У меня есть разреженная матрица R
, и я хочу центрировать все строки только относительно ненулевых элементов. Элементы, равные нулю, не должны использоваться для вычисления среднего значения и не должны центрироваться. Так, например:
#First row before transformation:
R[1,]: 1,0,0,0,3,0,0
#First row after transformation:
R[1,]: -1,0,0,0,1,0,0
Мне удалось вычислить средние значения строк с помощью:
sums = R.sum(axis=1).A1
cnts = (R != 0).sum(axis=1).A1
avgs = sums / cnts
Какой самый простой и эффективный способ вычесть средние из соответствующих строк R
?
Заранее спасибо за любую помощь!