Как использовать laply match для поиска значения и добавления в каждую строку? - PullRequest
0 голосов
/ 08 ноября 2018

У меня есть две таблицы данных, как показано ниже:

library(data.table)
x <- data.table(id = c(1,1,1,2,2,2,3,3,3,4,4,4), date = as.Date(c("2015-5-26","2015-6-15","2015-4-03","2015-5-26","2015-6-15","2015-4-03","2015-5-26","2015-6-15","2015-4-03","2015-5-26","2015-6-15","2015-4-03")))
y <- data.table(id=c(1,2,3,4),new_id=c(10,20,30,40))

Как уже упоминалось, я хочу добавить столбец new_id в таблицу данных x, а затем удалить идентификатор столбца.

Я могу сделать это

merge(x,y,by="id")

Но я хотел попробовать лакомство.

Итак, я попытался

x[,new_id:=0]
nm <- c("new_id")
x[nm] <- lapply(nm, function(z) y[[z]][match(y$id, x$id)])

Также, какой метод будет хорош, если у меня широкие столбцы и больше строк.

Это не соответствует столбцу, как кажется.

Также, какой метод будет эффективен, если у меня широкие столбцы и больше строк.

Любая помощь приветствуется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...