在 R 中使用 lookup table 和 mutate 函数匹配变量名

matching the variable name using lookup table and mutate function in R

我正在尝试使用 R 中的查找 table 和变异函数来匹配地块编号。脚本有效,但在特定日期,值丢失且未分配地块编号。我回去检查原始文件,数据在那里。但是在这些数据中使用查找和变异时,数据丢失了。

lookup <- c("WH113C1" = "WH115B2","WH114C2" = "WH111A1","WH103C2"= "WH106B1","WH104C1" = "WH102A2")
trail2<-
  ApMay %>% mutate(Plot=lookup[as.character(Plot)])

table如下:

 Plot      CanopyHeight  Date      Time date
 WH102A2    1712.169    4/25/2019   4   2019-04-25
 WH102A2    1712.169    4/25/2019   4   2019-04-25
 WH102A2    1728.224    4/25/2019   4   2019-04-25
 WH102A2    1728.411    4/25/2019   4   2019-04-25  
 WH102A2    1681.975    4/25/2019   4   2019-04-25
 WH102A2    1691.742    4/25/2019   4   2019-04-25

我不知道哪里错了。谁能帮帮我?

'lookup' 应该以相反的方式构造,即名称应该与 'Plot'

中的值匹配
library(dplyr)
lookup1 <- with(stack(lookup), setNames(as.character(ind), values))    
ApMay %>%
       mutate(Plot=lookup1[Plot])
#   Plot CanopyHeight      Date Time       date
#1 WH104C1     1712.169 4/25/2019    4 2019-04-25
#2 WH104C1     1712.169 4/25/2019    4 2019-04-25
#3 WH104C1     1728.224 4/25/2019    4 2019-04-25
#4 WH104C1     1728.411 4/25/2019    4 2019-04-25
#5 WH104C1     1681.975 4/25/2019    4 2019-04-25
#6 WH104C1     1691.742 4/25/2019    4 2019-04-25

数据

ApMay <- structure(list(Plot = c("WH102A2", "WH102A2", "WH102A2", "WH102A2", 
"WH102A2", "WH102A2"), CanopyHeight = c(1712.169, 1712.169, 1728.224, 
1728.411, 1681.975, 1691.742), Date = c("4/25/2019", "4/25/2019", 
"4/25/2019", "4/25/2019", "4/25/2019", "4/25/2019"), Time = c(4L, 
4L, 4L, 4L, 4L, 4L), date = c("2019-04-25", "2019-04-25", "2019-04-25", 
"2019-04-25", "2019-04-25", "2019-04-25")), class = "data.frame", row.names = c(NA, 
-6L))