indicesf#
Purpose#
Processes a set of variable names or indices and returns a vector of variable names and a vector of indices.
Format#
- { name, indx } = indicesf(fp, namein, indxin)#
- Parameters:
fp (scalar) – file handle of an open dataset.
namein (Nx1 string array) – names of selected columns in the dataset. If set to a null string, columns are selected using indxin
indxin (Nx1 vector) – indices of selected columns in the dataset. If set to 0, columns are selected using namein.
- Returns:
name (Nx1 string array) – the names of the selected columns.
indx (Nx1 vector) – the indices of the selected columns.
Examples#
Find indices using variable names#
// Create filename
fname = getGAUSSHome("examples/auto.dat");
// Open a file handle to a dataset
fh = dataOpen(fname, "read");
// Get variable names
namein = "mpg" $| "weight";
/*
** If namein is not equal to zero
** indxin must be equal to zero
*/
indxin = 0;
// Get indices and names of variables
{ varnames, indxs } = indicesf(fh, namein, indxin);
// Print variable one name
print "Variable names:" $varnames;
// Print index for variable one
print "Variable indices:" indxs;
closeall fh;
This produces the following output:
Variable names:
mpg
weight
Variable indices:
3.0000000
7.0000000
Find variable names using index numbers#
// Create filename fname = getGAUSSHome("examples/auto.dat"); // Open a file handle to a dataset fh = dataOpen(fname, "read"); /* ** If indxin is not equal to zero ** namein must be equal to zero */ namein = 0; /* ** If namein is not equal to zero ** indxin must be equal to zero */ indxin = { 3, 7 }; // Get indices and names of variables { varnames, indxs } = indicesf(fh, namein, indxin); // Print variable one name print "Variable indices:" indxs; // Print index for variable one print "Variable names:" $varnames; closeall fh;
This produces the following output:
Variable indices:
3.0000000
7.0000000
Variable names:
mpg
weight
Find all variable names and indices#
// Create filename
fname = getGAUSSHome("examples/auto.dat");
// Open a file handle to a dataset
fh = dataOpen(fname, "read");
/*
** namein should be
** null string for getting all variables
*/
namein = "";
/*
** Indxin should be zero
** for getting all variables
*/
indxin = 0;
// Get indices and names of variables
{ varnames, indxs } = indicesf(fh, namein, indxin);
// Print variable one name
print "Variable names:" $varnames;
// Print index for variable one
print "Variable indices:" indxs;
closeall fh;
This produces the following output :
Variable names:
make
price
mpg
rep78
headroom
trunk
weight
length
turn
displacement
gear_ratio
foreign
Variable indices:
1.0000000
2.0000000
3.0000000
4.0000000
5.0000000
6.0000000
7.0000000
8.0000000
9.0000000
10.000000
11.000000
12.000000
Remarks#
If namein is a null string and indxin is 0, all columns of the dataset will be selected.
If an error occurs, indx will be set to a scalar error code. The following error codes are possible:
1 |
Can’t open data file |
2 |
Variable not found |
3 |
Indices outside of range of columns |
Source#
indices.src
See also
Functions indicesfn()
, indices()