나는 미친 듯이 나를 몰아 붙이고 정말로 도움이 필요한 질문이 있습니다. 당신이 v1 및 v3의 요소가 동일하다는 것을 알 수 있었다으로두 개의 큰 데이터 세트를 병합하는 동안 r에 다른 반복 값을 갖는 새로운 열을 생성하는 방법
D1:
v1 v2 V3
1: a 1 1
2: b 2 2
3: c 3 3
4: d 4 4
5: d 5 1
6: b 6 2
7: a 7 3
8: c 8 4
9: a 9 1
10: d 10 2
11: b 11 3
12: a 12 4
> d2
v1 v3 v4
1: a 3 y
2: b 2 x
3: c 1 t
4: d 4 e
:
d1<-data.table(v1=c("a","b","c","d","d","b","a","c","a","d","b","a"),
v2=(seq(1:12)),V3=rep(1:4,times=3))
d2<-data.table(v1=c("a","b","c","d"),v3=c(3,2,1,4),v4=c("y","x","t","e"))
이 두 데이터 세트를 얻을 것입니다 : 단순화 된 질문은 이것이다.
>
d3
v1 v2 V3 V4
1: a 1 1 na
2: b 2 2 x
3: c 3 3 na
4: d 4 4 e
5: d 5 1 na
6: b 6 2 x
7: a 7 3 y
8: c 8 4 na
9: a 9 1 na
10: d 10 2 na
11: b 11 3 na
12: a 12 4 na
: 지금은 공동으로 두 지수 v1 및 v3의 일치 (D2)에 V4의 값을 반환 D1에 새 열을 생성하여 설정 데이터를 모두 원하는, 나는이처럼 보이는 출력을 얻을 수있는 희망 내가 사용하고있는 실제 데이터의 크기는 상대적으로 매우 큽니다. 23MB의 공동 113MB 데이터와 같은 것입니다. 데이터가 너무 길어서 작업을 완료하는 데 오래 걸리기 때문에 for 루프를 사용하여이 문제를 해결하려고했습니다. 또한 merge
과 sqldf
을 시도했지만 둘 다 작업을 완료하지 못했습니다. 이 문제로 나를 도울 수 있습니까? 고마워요!
sqldf가 너무 오래 걸린 이유는 조인 열에 인덱스를 넣지 않았기 때문일 수 있습니다.홈 페이지에는 예제가 있으며 예제가있는 SO에 대한 많은 질문이 있습니다. –
설명해 주셔서 감사합니다. – sxgn