Nasıl (birleştirme) veri çerçevesi (iç, dış, Sol, Sağ katılmak için?
Veri iletimi ile verilen:
df1 = data.frame(CustomerId = c(1:6), Product = c(rep("Toaster", 3), rep("Radio", 3)))
df2 = data.frame(CustomerId = c(2, 4, 6), State = c(rep("Alabama", 2), rep("Ohio", 1)))
df1
# CustomerId Product
# 1 Toaster
# 2 Toaster
# 3 Toaster
# 4 Radio
# 5 Radio
# 6 Radio
df2
# CustomerId State
# 2 Alabama
# 4 Alabama
# 6 Ohio
Nasıl veritabanı tarzı, yani, sql style, joins yapabilir miyim? Nasıl alabilirim:
- Df1 ve df2: inner join
Hangi tablo Sol Sağ tablodaki anahtarları eşleşen tek bir satır. - Df1 ve df2: outer join
Tüm satırlar sağ tabloda eşleşen anahtarları olan soldan her iki tablodan, üyelik kayıt döndürür. - left outer join (or simply left join) df1 ve df2
Tablo sol ve sağ tabloda eşleşen tuşları ile herhangi bir satır tüm satırları. - right outer join df1 ve df2
Sağ tablodan ve sol tablodan eşleşen tuşları ile herhangi bir satır tüm satırları.
P. S.-JARQ konusu, kapsam ve yöntemleri (Bu - R Soru Eklemeyi Biliyorum)
Ekstra kredi için:
Sql nasıl bir tarz tercih edebilir miyim?
CEVAP
Tarafından merge
işlevi ve isteğe bağlı parametreleri kullanarak:
İç birleşim:merge(df1, df2)
işe bu örnekler çünkü R otomatik olarak katılır çerçeveleri ile ortak değişken adları, ama sen-cekti büyük olasılıkla istediğiniz belirtin merge(df1, df2, by = "CustomerId")
emin olmak için olduğunu eşleşen alanları istediğiniz. Ayrıca eğer eşleşen değişkenler farklı veri çerçeveleri farklı adlara sahip by.x
by.y
parametreleri kullanabilirsiniz.
Dış birleşim:merge(x = df1, y = df2, by = "CustomerId", all = TRUE)
Sol dış:merge(x = df1, y = df2, by = "CustomerId", all.x = TRUE)
Sağ dış:merge(x = df1, y = df2, by = "CustomerId", all.y = TRUE)
Çapraz birleştirme:merge(x = df1, y = df2, by = NULL)
'/veri birleştirme katılmak için ...
Nasıl baskı (kağıt için) güzelce biçim...
Nasıl R veri çerçevesi için satır ekle...
Nasıl tarih sadece SQL Server datetime...
Nasıl terminalden Curl ile JSON veri g...