Difference between revisions of "Concat"

(WebinarArchive to subdomain)
 
(17 intermediate revisions by 4 users not shown)
Line 2: Line 2:
 
[[Category:Doc Status D]] <!-- For Lumina use, do not change -->
 
[[Category:Doc Status D]] <!-- For Lumina use, do not change -->
  
= Concat(A,B'',I,J,K'') =
+
== Concat(a, b, ''i, j, k'') ==
 +
Returns an array containing the elements of array «a» concatenated to the elements of array «b». Thus the number of items in the result is the sum of the number of items in  «a» and the number of items in  «b» .  The parameter «i» is an index  for array «a», «j» is an index for array «b» and «k» indexes the resulting array. The index parameters can be omitted if «a» and «b» are indexed implicitly, i.e. if they are single numbers or lists (1-D arrays), share an index or use [[Local Indexes|local indexes]].
  
Concatenates lists or arrays.
+
When '''A''' and '''B''' are lists , <code>Concat(A, B)</code> returns a list consisting of their elements.  This form is useful to concatenate (append, combine, join) two indexes to generate a third index.
  
When A and B are 1-D arrays,
+
When '''A''' and '''B''' are 1-D arrays with a common index <code>Concat([A], [B])</code> returns a 2-D array with two columns.  Notice the square brackets around each variableIf only two parameters are used, column index is '''.K'''. 
Concat(A,B)
 
returns a list (1-D array) consisting of their elementsThis form is often used to concatentate two indexes to obtain the elements for a third index.
 
  
When A and B are 1-D arrays with a common index
+
==Example==
 +
Let:
 +
:<code>Index In1&nbsp;:= ['a', 'b', 'c']</code>
  
Concat([A],[B])
+
Then:
returns a 2-D array with two columns.  Notice square brackets surrounding the variables.  If only two parameters are used, column index is .K. 
+
:<code>Concat(In1, ['z']) &rarr; ['a', 'b', 'c', 'z']</code>
  
When A and B are arbitrary arrays, where A has index I and B has index J, then
+
==Optional Parameters==
  Concat(A,B,I,J,K)
+
When '''A''' is an array with index '''I''' and '''B''' is an array with index '''J'''<code>Concat(A, B, I, J)</code>
concatenates (i.e., joins) arrays A and B, with the new result indexed by K. You must provide an index K whose length is the sum of the lengths of I and J.  Often the index K is obtained using the first form of concatenate.
+
concatenates (i.e., joins) arrays '''A''' and '''B''', with the new result indexed by local index '''.K''' whose values are the concatenation of '''I''' and '''J'''.
  
(new to 4.1) You can omit the K parameter:
+
Alternatively, you can provide the index '''K''' for the result, whose length must be the sum of the lengths of '''I''' and '''J''': <code>Concat(A, B, I, J, K)</code>.
Concat(A,B,I,J)
 
when you do so, the function creates a new local index named K for the result.
 
  
= Library =
+
When using this five parameter form, the index values of '''I''' and '''J''' are ignored --  so it doesn't matter if the elements of '''K''' are also elements of '''I''' or '''J'''. All that matters is that the number of elements in '''K''' is the number of elements of '''I''' plus the number of elements in '''J'''.  The positional ordering of the slices of each array are not altered -- the result consists of all the elements of '''A''' followed by all the elements of '''B'''.
  
Array functions
+
== Details & More Examples  ==
 +
When '''A''' (or '''B''') is implicitly indexed (for example, if it is a list or a single number), you can omit the index parameter.  For example:
 +
<code>Concat([0], B, , J)</code> prepends a column of zeroes to '''B'''.
  
= Examples  =
+
=== Example 1===
 
+
Let:
Index In1&nbsp;:= ['a','b','c']
+
:<code>Index I := [1, 2];</code>
 
+
:<code>Index J := ['a', 'b'];</code>
Concat( In1, ['z'] ) &amp;rarry ['a','b','c','z']
+
:<code>Index K := Concat(J, 'c');</code>
 
+
:<code>Variable A := Array(I, J, 1);</code>
index I&nbsp;:= [1, 2];
+
:<code>Variable B := Array(I, 2);</code>
index J&nbsp;:= ['a', 'b'];
 
index K&nbsp;:= concat(J, 'c');
 
var A&nbsp;:= Array( I, J, 1 );
 
var B&nbsp;:= Array( I, 2 );
 
Concat( A, [B], J, , K)
 
 
   
 
   
  Result:
+
Then:
    a b c
+
:<code>Concat(A, [B], J, , K) &rarr;</code>
1| [1, 1, 2
+
:{| class="wikitable"
2| 1, 1, 2]
+
!
 +
! colspan="3" |K &#9654;
 +
|-
 +
! I &#9660;'''
 +
!'a'
 +
!'b'
 +
!'c'
 +
|-
 +
!1
 +
|1
 +
|1
 +
|2
 +
|-
 +
!2
 +
|1
 +
|1
 +
|2
 +
|}
  
= See Also =
+
=== Example 2 ===
 +
Let:
 +
:<code>Index Year1 := 2006 .. 2008</code>
 +
:<code>Index Years2 := 2009 .. 2010</code>
 +
:<code>Index YearsAll := Concat(Years1, Years2)</code>
  
 +
Then:
 +
:<code>YearsAll &rarr; [2006, 2007, 2008, 2009, 2010]</code>
 +
 
 +
== See Also ==
 +
* [[Arrays and Indexes]]
 +
* [[Array functions]]
 
* [[ConcatRows]]
 
* [[ConcatRows]]
 
* [[ConcatN]]
 
* [[ConcatN]]
 +
* [[Text Concatenation Operator: &]]
 +
* [[media:Concatenation.ana|Concatenation.ana]]
 +
*  [[media:Array_Concatenation.ana|Array Concatenation.ana]]
 +
* [http://WebinarArchive.analytica.com/2009-06-25-Array-Concatenation.wmv Array Concatenation.wmv] (a video recording of a webinar)

Latest revision as of 22:03, 6 November 2019


Concat(a, b, i, j, k)

Returns an array containing the elements of array «a» concatenated to the elements of array «b». Thus the number of items in the result is the sum of the number of items in «a» and the number of items in «b» . The parameter «i» is an index for array «a», «j» is an index for array «b» and «k» indexes the resulting array. The index parameters can be omitted if «a» and «b» are indexed implicitly, i.e. if they are single numbers or lists (1-D arrays), share an index or use local indexes.

When A and B are lists , Concat(A, B) returns a list consisting of their elements. This form is useful to concatenate (append, combine, join) two indexes to generate a third index.

When A and B are 1-D arrays with a common index Concat([A], [B]) returns a 2-D array with two columns. Notice the square brackets around each variable. If only two parameters are used, column index is .K.

Example

Let:

Index In1 := ['a', 'b', 'c']

Then:

Concat(In1, ['z']) → ['a', 'b', 'c', 'z']

Optional Parameters

When A is an array with index I and B is an array with index J, Concat(A, B, I, J) concatenates (i.e., joins) arrays A and B, with the new result indexed by local index .K whose values are the concatenation of I and J.

Alternatively, you can provide the index K for the result, whose length must be the sum of the lengths of I and J: Concat(A, B, I, J, K).

When using this five parameter form, the index values of I and J are ignored -- so it doesn't matter if the elements of K are also elements of I or J. All that matters is that the number of elements in K is the number of elements of I plus the number of elements in J. The positional ordering of the slices of each array are not altered -- the result consists of all the elements of A followed by all the elements of B.

Details & More Examples

When A (or B) is implicitly indexed (for example, if it is a list or a single number), you can omit the index parameter. For example: Concat([0], B, , J) prepends a column of zeroes to B.

Example 1

Let:

Index I := [1, 2];
Index J := ['a', 'b'];
Index K := Concat(J, 'c');
Variable A := Array(I, J, 1);
Variable B := Array(I, 2);

Then:

Concat(A, [B], J, , K) →
K ▶
I ▼ 'a' 'b' 'c'
1 1 1 2
2 1 1 2

Example 2

Let:

Index Year1 := 2006 .. 2008
Index Years2 := 2009 .. 2010
Index YearsAll := Concat(Years1, Years2)

Then:

YearsAll → [2006, 2007, 2008, 2009, 2010]

See Also

Comments


You are not allowed to post comments.