2013-12-11 2 views
0

이것은 쉬운 것으로 판단됩니다. 두 개의 데이터 세트가 있습니다. 데이터 세트 1에는 첫 번째 열에 ID가 있고 ID 당 정확히 한 행이 있습니다. 두 번째 열에는 데이터 (값 1)가 있습니다. 두 번째 데이터 집합은 열 1에 동일한 ID를 갖지만 각 ID의 인스턴스가 여러 개 있습니다. 두 번째 데이터 집합의 해당 행에 value1을 입력하여 각 ID가 dataset1에서 올바른 값 1을 가져 오도록하고 싶습니다. 그래서 일대 다 매핑 문제입니다.고유 한 행 항목을 사용하여 두 번째 데이터 세트에서 중복 행 항목을 포함하는 업데이트 데이터 세트

예 셋 :

tC <- textConnection("ID Cat1 Cat2 
1 AA BB 
1 AA BB 
2 CC DD 
2 DD EE 
2 DD FF 
3 AA GG") 
data1 <- read.table(header=TRUE, tC) 
close.connection(tC) 
rm(tC) 

tC <- textConnection("ID Value1 
1 a 
2 b 
3 c") 
data2 <- read.table(header=TRUE, tC) 
close.connection(tC) 
rm(tC) 

최종 결과는 결과로 어떤 모양해야

tC <- textConnection("ID Cat1 Cat2 value1 
1 AA BB a 
1 AA BB a 
2 CC DD b 
2 DD EE b 
2 DD FF b 
3 AA GG c") 
data3 <- read.table(header=TRUE, tC) 
close.connection(tC) 

답변

1

merge 함수는 복수의 데이터 프레임의 정보를 조합을 위해 설계된다.

merge(data1, data2) 

# ID Cat1 Cat2 Value1 
# 1 1 AA BB  a 
# 2 1 AA BB  a 
# 3 2 CC DD  b 
# 4 2 DD EE  b 
# 5 2 DD FF  b 
# 6 3 AA GG  c 
+0

고마워요, 제가 찾고있는 기능에 감사드립니다. – marcel

관련 문제