сопоставление имени переменной с использованием таблицы поиска и функции преобразования в R - PullRequest
1 голос
/ 06 января 2020

Я пытаюсь сопоставить номер графика с помощью таблицы поиска и функции преобразования в R. Сценарий сработал, но в определенный день значения отсутствуют, а номер графика не назначен. Я вернулся, чтобы проверить необработанный файл и данные там. Но при использовании поиска и изменения этих данных данные отсутствуют.

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

Таблица выглядит следующим образом:

 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

Я не ошибаюсь. Кто-нибудь может мне помочь?

1 Ответ

0 голосов
/ 06 января 2020

'Поиск' должен быть построен в обратном порядке, т.е. имена должны совпадать со значениями в 'Графике'

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

data

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))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...