Birleştirme değişken adları farklı olduğunda ve başka bir değişkende saklandığında, dplyr'dan * _join() öğesini kullanarak 2 tablo nasıl birleştirilir?R: * _join (dplyr) için standart değerlendirme
örn.
df1 = data_frame(x1 = 1:10,y1 = 21:30)
df2 = data_frame(x2 = 6:15,y2 = 26:35)
df3 = data_frame(x1 = 6:15,y2 = 26:35)
var1 = "x1"
var2 = "x2"
df1 %>% left_join(df3,by=c(var1)) # #1 works
ama bu hata verir -
df1 %>% left_join(df2,by=c(var1 = var2)) # #2 doesn't work
Error: cannot join on columns 'x2' x 'var1': index out of bounds
şaşırtıcı bu işleri -
df1 %>% left_join(df2,by=c("x1" = var2)) # #3 works
Lütfen isimleri kullanmayın <- 'nastiness -' setNames() 'çok daha iyi – hadley
Bunu yanıtlamak için cevabımı düzenledim. –