stretch
语法
stretch(X, n)
参数
X 向量/元组/矩阵/表。
n 非负整数。
详情
X 是向量/元组时,将 X 均匀拉伸为长度为 n 的向量/元组。
X 是矩阵/表时,将 X 均匀拉伸为行数为 n 的矩阵/表。
该函数与 take 的区别为:
take
是对向量整体进行循环拼接,而 stretch
则是对向量的每一个元素进行复制达到拉伸的效果。
例子
X = 1 NULL 2 3
print stretch(X, 11)
返回:[1,1,1,,,,2,2,2,3,3]
print stretch(X, 12)
返回:[1,1,1,,,,2,2,2,3,3,3]
以下用 take
做比较:
print take(X, 10)
返回:[1,,2,3,1,,2,3,1,]
另一个例子:
Y=array(INT[], 0, 10).append!([1 NULL 3, 4 5, 6 NULL 8, 9 10]);
print stretch(Y,7)
返回:[[1,00i,3],[1,00i,3],[4,5],[4,5],[6,00i,8],[6,00i,8],[9,10]]
s=[1 2 3, 4 5 6]
stretch(s, 5)
返回:
0 | 1 | 2 | 3 | 4 | |
---|---|---|---|---|---|
0 | [1, 2, 3] | [1, 2, 3] | [1, 2, 3] | [4, 5, 6] | [4, 5, 6] |
m=matrix(1 2 3, 4 5 6)
stretch(m,5)
返回:
col1 | col2 |
---|---|
1 | 4 |
1 | 4 |
2 | 5 |
2 | 5 |
3 | 6 |
t=table(1 2 3 as a, 4 5 6 as b)
stretch(t,5)
返回:
a | b |
---|---|
1 | 4 |
1 | 4 |
2 | 5 |
2 | 5 |
3 | 6 |