firstNot
语法
firstNot(X, [k])
参数
X 可以是标量、数据对、向量、矩阵或表。
k 是一个标量,它是可选参数。
详情
若 X 是向量:
如果没有指定 k,返回 X 中第一个不为 NULL 的元素。
如果指定 k,返回 X 中第一个不为 k 或 NULL 的元素。
若 X 是矩阵或表,在每列内进行上述计算,返回一个向量。
firstNot
函数也支持查询分布式表和分区表。
例子
X 是向量:
$ firstNot(0 0 0 6 1, 0);
6
$ firstNot(NULL 0 3 2 1, 0);
3
$ firstNot(NULL 0 1 6);
0
$ t=table(1 1 1 1 1 2 2 2 2 2 as id, 0 0 0 2 1 NULL NULL 0 0 3 as x);
$ t;
id |
x |
---|---|
1 |
0 |
1 |
0 |
1 |
0 |
1 |
2 |
1 |
1 |
2 |
|
2 |
|
2 |
0 |
2 |
0 |
2 |
3 |
$ select firstNot(x, 0) from t group by id;
id |
firstNot_x |
---|---|
1 |
2 |
2 |
3 |
$ m=matrix(0 NULL 1 2 3, NULL 2 NULL 0 3);
$ m;
#0 |
#1 |
---|---|
0 |
2 |
1 |
|
2 |
0 |
3 |
3 |
$ firstNot(m, 0);
[1,2]