join(<-)

Syntax

X<-Y

Arguments

X and Y can be scalar/vector/tuple/matrix/table.

Details

Merge X and Y.

Examples

If X is a scalar and Y is a scalar/vector, the result is a vector. Y can also be a tuple, and the result is a tuple.

1 <- 3;
// output
[1,3]

4 <- 1 2 3;
// output
[4,1,2,3]

$ 1 <- (2,"A")
// when appendTupleAsAWhole = true
(1,(2,"A"))
// when appendTupleAsAWhole = false
(1,2,"A")

If X is a vector, Y can be a scalar, vector or tuple whose elements all have the same type as X. The result is a vector longer than X.

[1,2,3] <- 4;
// output
[1,2,3,4]

[1,2,3]<-[4,5,6];
// output
[1,2,3,4,5,6]

$ [1,2] <- (3,4)
[1,2,3,4]
If X is a tuple, Y can be a scalar, vector or tuple. The result is a tuple longer than X.
$ x = (1,"A")
$ y = 2
$ x <- y
(1,"A",2)

$ y = [2,3]
(1,"A",[2,3])

$ y = (2,"B")
// when appendTupleAsAWhole = true
(1,"A",(2,"B"))
// when appendTupleAsAWhole = false
(1,"A",2,"B")

If X is a matrix, Y must be a vector/matrix with the same number of rows as X. The result is a matrix with the same number of rows as X.

1..6$2:3 <- [7,8];
#0 #1 #2 #3
1 3 5 7
2 4 6 8
(1..6$2:3) <- (7..12$2:3);
#0 #1 #2 #3 #4 #5
1 3 5 7 9 11
2 4 6 8 10 12

If X is a table, Y must be a table with the same number of rows as X. The result is a table with the same number of rows as X.

a=table(1..3 as x, 4.5 6.7 8.5 as y);
a;
x y
1 4.5
2 6.7
3 8.5
b=table(700 500 800 as z);
b;
z
700
500
800
c=join(a,b);
c;
x y z
1 4.5 700
2 6.7 500
3 8.5 800
a=table(1..3 as x, `IBM`C`AAPL as y);
b=table(172.3 25 106.5 as z);
c=a<-b;
c;
x y z
1 IBM 172.3
2 C 25
3 AAPL 106.5