clip
语法
clip(X,Y,Z)
参数
X 是一个向量、矩阵或表。
Y 是一个标量、向量、矩阵或表
Z 是一个标量、向量、矩阵或表
- 当 X 是向量时,Y 和 Z 可以是标量或与 X 等长的向量。
- 当 X 是矩阵时,Y 和 Z 可以是标量,可以是长度等于 X 行数的向量,或与 X 维度相同的矩阵。
- 当 X 是表时,Y 和 Z 可以是标量,可以是长度等于 X 行数的向量,或与 X 维度相同的表。
详情
如果 X 是向量,返回一个与 X 等长的向量 X'
- X' 中小于 Y 的值都会被 Y 替换,如果 Y 为空值标量,将不会进行任何操作。
- X' 中大于 Z 的值都会被 Z 替换;如果 Z 为空值标量,将不会进行任何操作。
- 如果 Y 或 Z 是一个向量,只要某个位置包含 NULL,那么 X' 对应位置的结果也为 NULL。
- 当 Z 小于 Y 的值时,X’ 的值等于 Z
如果 X 是矩阵或表,则在每列内进行上述计算,返回一个与 X 维度相同的矩阵或表。
例子
x = 1..9
y = 3
z = 7
clip(x,y,z)
// output
[3,3,3,4,5,6,7,7,7]
x = 1..9
y = 3
z = NULL
clip(x,y,z)
// output
[3,3,3,4,5,6,7,8,9]
x = 1..9$3:3
y = [1,3,3,3,,5,6,7,8]$3:3
z = [2,4,5,5,6,7,,6,10]$3:3
clip(x,y,z)
// output
#0 #1 #2
-- -- --
1 4
3 6
3 6 9
x = table(1..3 as x1, 4..6 as x2, 7..9 as x3)
y = table([1.0,3.5,3.0] as y1, [3,,5] as y2, [6,7,8] as y3)
z = table([2,4,5] as z1, [5,6,7] as z2, [,6,10] as z3)
clip(x,y,z)
// output
x1 x2 x3
--- -- --
1.0 4
3.5 6
3.0 6 9