行计算系列(row 系列)
DolphinDB 中,绝大部分计算函数是基于向量、矩阵或表的一列进行的。若需要逐行计算,普通函数无法满足要求。为此,DolphinDB 设计了row 系列函数,可以满足用户逐行进行计算的需求。
row 系列函数介绍:
row 系列函数对应的高阶函数 byRow:
$ byRow(func, X)
内置的 row 系列函数的通用参数模板如下:
模板一:单目函数
$ rowFunc(args…)
参数
输入参数可以是单个标量/矩阵、一或多个向量/向量元组/表的组合。输入的各参数的行数(向量的长度/元组中每行向量的长度/表的行数)必须相同。
注意:矩阵逐行计算,返回一个长度和行数相同的向量,暂不支持输入多个矩阵进行计算。
模板二:双目函数(1.30.16版本首发)
$ rowFunc(X, Y)
参数
X 和 Y 是维度相同的矩阵或行数相同的数值型向量。
row 系列函数如下:
See also
单目函数:
rowMax, rowMin, rowImax, rowImin,
rowCount, rowSize, rowSum, rowSum2,
rowAvg, rowProd, rowStd, rowStdp,
双目函数:
rowBeta, rowCorr, rowCovar, rowWavg, rowWsum
特殊单目函数:
只支持输入单个矩阵: rowRank, rowDenseRank
支持输入元组、矩阵和表: rowKurtosis, rowSkew
特殊双目函数:
X 支持输入矩阵或数组向量,Y 支持输入向量或数组向量: rowAt
计算规则

对于不同类型的组合计算的规则,可以参考上图,对应下例。
$ vec = [1,2,3]
$ vec_tuple = [[3,4,5],[4,5,6]]
$ tb = table(7 8 9 as id, 8 9 10 as code)
$ print rowSum(vec, vec_tuple, tb)
[23, 28, 33]
矩阵计算的用例如下:
$ m = matrix(4 2 1 3 5 8, 1 2 5 9 0 1, 3 6 3 2 1 5)
$ print rowSum(m)
[8, 10, 9, 14, 6, 14]