0
두 세트의 데이터 프레임이 있습니다. 아래는 각각에 대한 처음 다섯 줄입니다.R의 다른 데이터 프레임에서 하나 또는 두 개의 열만 병합
First Data frame Name: sampel_sort
name id supplier usage
ABC 10000079 811121 1
DEF 10000182 541513 4
Supplier C 10000484 531110 1
Supplier D 10000523 541320 1
Supplier E 10000592 524210 1
Supplier F 10012711 237110 1
Second data frame Name: MBE
id State total CATEGORY
10000070 MD 5 MBE
10000182 PR 14 MBE
10000484 TX 1 MBE
10000526 MI 3 MBE
10000592 FL 1 MBE
10000680 ID 14 MBE
실제 데이터 세트에는 더 많은 열이 있습니다. 두 개의 데이터 프레임을 결합하고 싶지만 카테고리 열만 가져 오려고합니다. 다음 병합 문이 작동합니다.
ncombined <- merge(x = sample_sort, y = MBE, by = "id", all.x = TRUE)
그러나 이것은 MBE 데이터 집합의 모든 열을 제공합니다. 다른 방법으로 다음을 시도했습니다 (카테고리 열만 가져올 수 있도록). 하지만 나는 운이 없다. 나는 (by.y, y)의 오류를 fix.by에서
ncombined <- merge(x = sample_sort, y = MBE[,c("CATEGORY")], by = "id", all.x = TRUE)
오류를 얻을 : '에서'다음과 같이해야한다 유일하게 유효한 열
에게 최종 결과를 지정해야합니다
병합하기 전에 열을 밖으로 데리고First Data frame Name: sample_sort
name id supplier usage CATEGORY
ABC 10000079 811121 1 MBE
DEF 10000182 541513 4 MBE
Supplier C 10000484 531110 1 MBE
Supplier D 10000523 541320 1 MBE
Supplier E 10000592 524210 1 MBE
Supplier F 10012711 237110 1 NA
먼저 질문을 읽을 수있게하기 위해 좀 더 노력을 기울일 수 있습니까? 나는 코드가 무엇이고 해설이 무엇인지에 대한 단서가 없다. 둘째로,'cbind()'가 작동 할까? 다시 한 번 질문을 읽고 이해하기가 어렵습니다. –
'CATEGORY' 만 선택할 때'id'로 어떻게 합치겠습니까? – ytk
'CATEGORY' 컬럼 만 포함하도록'MBE'를 부분 집합하면 더 이상 병합 할'id' 컬럼이 없습니다. – moman822