在 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))
我正在尝试使用 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))