Chciałbym połączyć 2 df, gdzie w df1 zawiera 2 kolumny i df2 1 kolumny, jak zastosować funkcję scalania w tym przypadku?Jak scalić 2 kolumny na 1 kolumnie
Oto przykładowy przypadek:
df1 <- data.frame(var1=letters[1:5],var2=letters[6:10])
df2 <- data.frame(var3=letters[1:10])
Fałsz próba:
merge(df1,df2,by.x=c("var1","var2"),by.y="var3",all.y=TRUE)
Jak połączyć te dwa df, tak że poszukiwania dopasowanie używa obu kolumn DF1 (zm1 & var2) i działa na df2 (var3)?
Pożądany wyjściowa:
var1 var2 var3
1 a f a
2 b g b
3 c h c
4 d i d
5 e j e
6 <NA> <NA> f
7 <NA> <NA> g
8 <NA> <NA> h
9 <NA> <NA> i
10 <NA> <NA> j
EDIT: Lepsze dane (mam nadzieję):
df1 <- data.frame(var1=c(letters[1:5],rep("x",5)),var2=c(letters[6:10],rep("x",5)))
df2 <- data.frame(var3=letters[1:10])
Pożądany wyjściowa:
var1 var2 var3
1 a f a
2 b g b
3 c h c
4 d i d
5 e j e
6 x x f
7 x x g
8 x x h
9 x x i
10 x x j
'dwukrotnie merge' may być jednym możliwym rozwiązaniem. – Metrics
tak, myślałem o tym, ale może być brudny z moich prawdziwych danych. – Maximilian
przez niechlujny, mam na myśli zmywanie danych :) Myślałem, że to może być raczej podatne na błąd – Maximilian