Index

Contents

Description

This function is used to return the row index where x occurs in a strictly monotonic dataset, according to condition defined by ctrl.

Syntax

double Index(double x, vector vdata[, int ctrl])

Parameters

x

is any real number.

vdata

is the strictly monotonic vector data.

ctrl

is used to control the index position, which has three options

For data which is monotonically decreasing, the meaning of 1 and 2 are reversed.

Return

Returns the row index where x occurs in vdata according to the ctrl condition. If vdata is not strictly monotonic, has missing values or the data is text, the return value is -2.

Example

for(ii=1;ii<32;ii++) col(1)[ii]=0.5*ii^2;
// Test for value that does not exist in the data
int ind0=Index(170,col(1));
int ind1=Index(170,col(1),1);
int ind2=Index(170,col(1),2);
ind0=; // Should return 18 since (170 - 162) < (180.5 - 170)
ind1=; // Should return 18 since 170 should occur before (less than) row 19
ind2=; // Should return 19 since 170 should occur after (greater than)row 18
// Test for value that does exist in the data
// We can also pass a range variable
range raData = col(1);
int ind0=Index(200,raData);
int ind1=Index(200,raData,1);
int ind2=Index(200,raData,2);
ind0=; // Should return 20
ind1=; // Should return 20
ind2=; // Should return 20

See Also

Xindex