Возможно такой подход:
library(tidyverse)
Plots %>%
mutate(Species = ifelse(Spp %in% Parameters$Species, Spp, "OTH")) %>%
left_join(Parameters)
создать новую переменную "Species"
в Plots
фрейме данных, сначала проверив, находится ли Plots$Spp
в Parameters$Species
, если да, оставьте Spp
, если нетзамените на "OTH"
, а затем объедините результирующий фрейм данных с Parameters
на "Species"
столбец.
#output
Id Spp Dbh Species X Y
1 414 SM 27.2 SM 2 20
2 415 BE 17.4 BE 1 10
3 416 YB 35.8 YB 3 30
4 418 SM 43.5 SM 2 20
5 419 SM 53.3 SM 2 20
6 420 SM 53.3 SM 2 20
7 421 SM 11.9 SM 2 20
8 422 TL 27.5 OTH 4 40
9 423 XS 13.2 OTH 4 40
data:
Plots <- read.table(text = "Id Spp Dbh
414 SM 27.2
415 BE 17.4
416 YB 35.8
418 SM 43.5
419 SM 53.3
420 SM 53.3
421 SM 11.9
422 TL 27.5
423 XS 13.2", header = T, stringsAsFactors = FALSE)
Parameters <- read.table(text = "Species X Y
BE 1 10
SM 2 20
YB 3 30
OTH 4 40", header = T, stringsAsFactors = FALSE)