df = structure(list(Combination = c("Animalborne_Archival", "Animalborne_Satellite_Archival", 
                                    "BRUV_Acoustic", "Stationary_Acoustic_Radio_PIT", "Stationary_Acoustic", 
                                    "Controlled_Archival"), new_var = c(Animalborne_Archival = "NoReceiver", 
                                                                        Animalborne_Satellite_Archival = "NoReceiver", BRUV_Acoustic = "Receiver", 
                                                                        Stationary_Acoustic_Radio_PIT = "Receiver", Stationary_Acoustic = "Receiver", 
                                                                        Controlled_Archival = "NoReceiver")), row.names = c(7L, 188L, 
                                                                                                                            154L, 41L, 134L, 159L), class = "data.frame")
With base R (cf @MrFlick comment):
transform(df, newcol = paste0(sub("_.*", "", Combination), "_", new_var))
#>                        Combination    new_var                 newcol
#> 7             Animalborne_Archival NoReceiver Animalborne_NoReceiver
#> 188 Animalborne_Satellite_Archival NoReceiver Animalborne_NoReceiver
#> 154                  BRUV_Acoustic   Receiver          BRUV_Receiver
#> 41   Stationary_Acoustic_Radio_PIT   Receiver    Stationary_Receiver
#> 134            Stationary_Acoustic   Receiver    Stationary_Receiver
#> 159            Controlled_Archival NoReceiver  Controlled_NoReceiver
With dplyr (very similar):
library(dplyr)
mutate(df, newcol = paste0(sub("_.*", "", Combination), "_", new_var))
#>                        Combination    new_var                 newcol
#> 7             Animalborne_Archival NoReceiver Animalborne_NoReceiver
#> 188 Animalborne_Satellite_Archival NoReceiver Animalborne_NoReceiver
#> 154                  BRUV_Acoustic   Receiver          BRUV_Receiver
#> 41   Stationary_Acoustic_Radio_PIT   Receiver    Stationary_Receiver
#> 134            Stationary_Acoustic   Receiver    Stationary_Receiver
#> 159            Controlled_Archival NoReceiver  Controlled_NoReceiver
With tidyr::unite():
library(tidyr)
df |> 
  mutate(tmp = sub("_.*", "", Combination)) |> 
  unite(tmp, new_var, col = newcol, sep = "_", remove = FALSE) |> 
  select(-tmp)
#>                        Combination                 newcol    new_var
#> 7             Animalborne_Archival Animalborne_NoReceiver NoReceiver
#> 188 Animalborne_Satellite_Archival Animalborne_NoReceiver NoReceiver
#> 154                  BRUV_Acoustic          BRUV_Receiver   Receiver
#> 41   Stationary_Acoustic_Radio_PIT    Stationary_Receiver   Receiver
#> 134            Stationary_Acoustic    Stationary_Receiver   Receiver
#> 159            Controlled_Archival  Controlled_NoReceiver NoReceiver