clip

语法

clip(X,Y,Z)

参数

X 是一个向量、矩阵或表。

Y 是一个标量、向量、矩阵或表

Z 是一个标量、向量、矩阵或表

  • X 是向量时,YZ 可以是标量或与 X 等长的向量。

  • X 是矩阵时,YZ 可以是标量,可以是长度等于 X 行数的向量,或与 X 维度相同的矩阵。

  • X 是表时,YZ 可以是标量,可以是长度等于 X 行数的向量,或与 X 维度相同的表。

详情

如果 X 是向量,返回一个与 X 等长的向量 X'

  • X' 中小于 Y 的值都会被 Y 替换,如果 Y 为空值标量,将不会进行任何操作。

  • X' 中大于 Z 的值都会被 Z 替换;如果 Z 为空值标量,将不会进行任何操作。

  • 如果 YZ 是一个向量,只要某个位置包含 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