Rでデータフレームに対し横方向にmaxを取りたい


Rのデータフレームの中にx_1からx_17までカラムがあるのですが、それぞれの行に対してx_1からx_15までの中から最大の値と最大の値を持つカラムを抽出（x6が最大になる場合6を抽出）し、dplyr::mutateして新しい列に追加したいです。  
詳しい方、ご教示いただけますと幸いです。




tidyverseでやるならこんな感じでしょうか。

[code]

    library(tidyverse)
    iris[-5] %>%
      mutate(rn = row_number()) %>%
      pivot_longer(-rn) %>%
      group_by(rn) %>%
      mutate(
        max_idx = which.max(value),
        max_val = max(value)
      ) %>%
      ungroup() %>%
      pivot_wider(names_from = name, values_from = value) %>%
      select(-rn)
    
[/code]

