original_string: public function get_headers(\core_analytics\local\time_splitting\base $timesplitting,
              \core_analytics\local\target\base $target): array {
          // 3rd column will contain the indicator ids.
          $headers = array();
  
          if (!$this->includetarget) {
              // The first column is the sampleid.
              $headers[] = 'sampleid';
          }
  
          // We always have 1 column for each time splitting method range, it does not depend on how
          // many ranges we calculated.
          $ranges = $timesplitting->get_distinct_ranges();
          if (count($ranges) > 1) {
              foreach ($ranges as $rangeindex) {
                  $headers[] = 'range/' . $rangeindex;
              }
          }
  
          // Model indicators.
          foreach ($this->analyser->get_indicators() as $indicator) {
              $headers = array_merge($headers, $indicator::get_feature_headers());
          }
  
          // The target as well.
          if ($this->includetarget) {
              $headers[] = $target->get_id();
          }
  
          return $headers;
      }
code: public function get_headers(\core_analytics\local\time_splitting\base $timesplitting,
              \core_analytics\local\target\base $target): array {
          // 3rd column will contain the indicator ids.
          $headers = array();
  
          if (!$this->includetarget) {
              // The first column is the sampleid.
              $headers[] = 'sampleid';
          }
  
          // We always have 1 column for each time splitting method range, it does not depend on how
          // many ranges we calculated.
          $ranges = $timesplitting->get_distinct_ranges();
          if (count($ranges) > 1) {
              foreach ($ranges as $rangeindex) {
                  $headers[] = 'range/' . $rangeindex;
              }
          }
  
          // Model indicators.
          foreach ($this->analyser->get_indicators() as $indicator) {
              $headers = array_merge($headers, $indicator::get_feature_headers());
          }
  
          // The target as well.
          if ($this->includetarget) {
              $headers[] = $target->get_id();
          }
  
          return $headers;
      }
code_tokens: public function get_headers ( \ core_analytics \ local \ time_splitting \ base $ timesplitting , \ core_analytics \ local \ target \ base $ target ) : array { // 3rd column will contain the indicator ids. $ headers = array ( ) ; if ( ! $ this -> includetarget ) { // The first column is the sampleid. $ headers [ ] = 'sampleid' ; } // We always have 1 column for each time splitting method range, it does not depend on how // many ranges we calculated. $ ranges = $ timesplitting -> get_distinct_ranges ( ) ; if ( count ( $ ranges ) > 1 ) { foreach ( $ ranges as $ rangeindex ) { $ headers [ ] = 'range/' . $ rangeindex ; } } // Model indicators. foreach ( $ this -> analyser -> get_indicators ( ) as $ indicator ) { $ headers = array_merge ( $ headers , $ indicator :: get_feature_headers ( ) ) ; } // The target as well. if ( $ this -> includetarget ) { $ headers [ ] = $ target -> get_id ( ) ; } return $ headers ; }
docstring: Returns the headers for the csv file based on the indicators and the target.
  
  @param \core_analytics\local\time_splitting\base $timesplitting
  @param \core_analytics\local\target\base $target
  @return string[]
docstring_tokens: Returns the headers for the csv file based on the indicators and the target .