stretch

New in version 2.00.7.

语法

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,3,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]

$ 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,,3],[1,,3],[4,5],[4,5],[6,,8],[6,,8],[9,10]]

$ s=[1 2 3, 4 5 6]
$ stretch(s, 5)
([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