get_column_index Function

private function get_column_index(df, col) result(col_index)

Get column index from either integer or character input

@param[in] df The data frame @param[in] col Column identifier (integer index or character header) @return col_index The column index

Arguments

Type IntentOptional Attributes Name
type(data_frame), intent(in) :: df
class(*), intent(in) :: col

Return Value integer


Source Code

    function get_column_index(df, col) result(col_index)
        type(data_frame), intent(in) :: df
        class(*), intent(in) :: col
        integer :: col_index

        select type (col)
        type is (integer)
            col_index = col
            if (col_index < 1 .or. col_index > df % ncols()) then
                error stop "column index out of range"
            end if
        type is (character(len=*))
            if (.not. df % get_with_headers()) then
                error stop "cannot use header name when data frame has no headers"
            end if
            col_index = df % find_header_index(col)
        class default
            error stop "column must be integer or character"
        end select
    end function get_column_index