Мы могли бы использовать match
df1$Taxa <- df2$Phylum[match(df1$Taxa, row.names(df2))]
df1$Taxa
#[1] "Actinobacteria" "Bacteroidetes" "Chlorobi" "Fibrobacteres" "Firmicutes"
данные
df1 <- structure(list(Taxa = c("C1414", "C305", "C6066", "C4483", "C1161"
), Env = c("pH", "pH", "Temp", "Temp", "TS"), Correlation = c(-0.44448524,
-0.03514715, -0.26652662, -0.24711638, 0.04660032), Pvalue = c(0.01570246,
0.80462576, 0.16223749, 0.07736761, 0.81029772), Type = c("T",
"V", "T", "V", "T"), AdjPvalueSignificance = c(0.2774101, 0.8953632,
0.7098855, 0.7098855, 0.8793111)), class = "data.frame", row.names = c("1",
"2", "3", "4", "5"))
df2 <- structure(list(Domain = c("Bacteria", "Bacteria", "Bacteria",
"Bacteria", "Bacteria"), Phylum = c("Actinobacteria", "Bacteroidetes",
"Chlorobi", "Fibrobacteres", "Firmicutes")), class = "data.frame",
row.names = c("C1414",
"C305", "C6066", "C4483", "C1161"))