Helper subroutine to copy a column from one dataframe to another
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(data_frame), | intent(in) | :: | source_df | |||
integer, | intent(in) | :: | col_index | |||
type(data_frame), | intent(inout) | :: | target_df |
subroutine copy_column_to_df(source_df, col_index, target_df) type(data_frame), intent(in) :: source_df integer, intent(in) :: col_index type(data_frame), intent(inout) :: target_df select case (source_df % dtype(col_index)) case (REAL_NUM) if (source_df % get_with_headers()) then call df_append_real(target_df, df_get_col_real(source_df, col_index), source_df % header(col_index)) else call df_append_real(target_df, df_get_col_real(source_df, col_index)) end if case (INTEGER_NUM) if (source_df % get_with_headers()) then call df_append_integer(target_df, df_get_col_integer(source_df, col_index), source_df % header(col_index)) else call df_append_integer(target_df, df_get_col_integer(source_df, col_index)) end if case (LOGICAL_NUM) if (source_df % get_with_headers()) then call df_append_logical(target_df, df_get_col_logical(source_df, col_index), source_df % header(col_index)) else call df_append_logical(target_df, df_get_col_logical(source_df, col_index)) end if case (CHARACTER_NUM) if (source_df % get_with_headers()) then call df_append_character(target_df, df_get_col_character(source_df, col_index), source_df % header(col_index)) else call df_append_character(target_df, df_get_col_character(source_df, col_index)) end if case (COMPLEX_NUM) if (source_df % get_with_headers()) then call df_append_complex(target_df, df_get_col_complex(source_df, col_index), source_df % header(col_index)) else call df_append_complex(target_df, df_get_col_complex(source_df, col_index)) end if end select end subroutine copy_column_to_df