5
에 다른 데이터 테이블과 목록의 모든 요소를 병합하는 방법은 다음과 같은 데이터가 있습니다조건
library(data.table)
dt1 <- data.table(var1 = c("wk1","wk1","wk2"),
var2 = c(1,2,3))
dt2 <- data.table(var3 = c("a","b","c"),
var2 = c(1,2,3))
lista <- list(dt1,dt2)
dt_main <- data.table(var1 = c("wk1","wk2"),
var4 = c(100,200))
내가 merge
원하는을에, 그래서 dt_main
data.table
와 변수 var1
를 포함 lista
의 모든 요소
dt1 <- data.table(var1 = c("wk1","wk1","wk2"),
var2 = c(1,2,3),
var4 = c(100,100,200))
dt2 <- data.table(var3 = c("a","b","c"),
var2 = c(1,2,3))
lista <- list(dt1,dt2)
나는
을 시도 : 나는lista
을하고 싶은 말은 다음과 같이합니다 0
mapply(function(X,Y){
if("var1"%in%names(X)){
X <- merge(X,Y,by="var1")
}
},X=lista,Y=dt_main)
하지만 작동하지 않습니다. 어떤 도움이 필요합니까?
조금 늦었다. b var ', var4 : = var4] else x)'lapply (lista, function (x) if ('var'% in % names (x)) x [dt_main, on = 'var1' ' – Jaap
병합하는 또 다른 좋은 방법 :). 답변을 @Jaap으로 게시 하시겠습니까? – LyzandeR
완료 :-) (내 솔루션에서 유형을 수정 함) – Jaap