저는 R 초보자이고 ID 열을 기반으로 두 개의 데이터 세트를 병합하고 싶습니다. 데이터 세트 2의 ID 번호가 데이터 세트 1에 있으면 데이터 세트 2의이 특정 행에 대한 데이터를 데이터 세트 1의 행에 추가하려고합니다.조건에 따라 r에 데이터 병합 및 새 열 만들기
두 번째로 일치하는 것이 있으면 해당 특정 행/일치에 대한 일치라는 새 열의 "1"및 일치하지 않는 경우의 "0"입니다.
예 : 추가 된 열이
Dataset 1:
Id category
123 3
124 1
125 2
Dataset 2:
Id score category
123 0.24 3
124 0.83 1
126 0.92 2
최종 예 :이 지금까지 시도했습니다
Id score category match
123 0.24 3 1
124 0.83 1 1
125 NA 1 0
126 0.92 2 1
(일부 다른 조합), 그러나 그것은 나에게 좋은 결과를주지 않았다 :
data <- merge(df1, df2, by ="ID" , all.x = TRUE)
정말 도움이됩니다.
재현 코드 :
df1 <- data.frame(ID=c("123","124","125"), category=c(3,1,2)
df2 <- data.frame(ID=c("123","124","126"), score=("0.24","0.83","0.92"), category=c("3","1","2")
를 호출하여 출력을 업데이트 당신은'character' NA가 있습니까? 따옴표로 묶어서는 안됩니다. 입력 데이터가 나타나고 재현 가능한 예제의 'df2'가 일치하지 않습니다. 바이너리 컬럼을 생성하기 위해서는'% in %'를'as.integer'와 함께 사용하십시오. – akrun
예상되는 출력과 재현 가능한 코드가 같은 예제 데이터는 동일하지 않습니다. ID가 '126'이 아니십니까? – user5249203
[데이터 프레임 (내부, 외부, 왼쪽, 오른쪽) 조인 (병합) 방법] 중 가능한 복제본]] (http://stackoverflow.com/questions/1299871/how-to-join-merge-data-frames-inner) -outer-left-right) –