Veri kümelerini yatay olarak ekleme
Aynı gözlem setini temsil eden veri kümeleriniz olduğunda, bu veri kümelerini yatay olarak birleştirebilirsiniz. Bu kez, veri kümenizin satırlarını koruyarak ona daha fazla sütun ekleyebilirsiniz. Bu tür durumlarda, gözlemlerin sırasının aynı olup olmadığını kontrol etmelisiniz. Veri kümelerinizin satır sayıları farklıysa ya da satır sayıları aynı olsa bile sıraları tutarsızsa, bir sütun setini diğer setle mantıksız bir şekilde eşleştirebilirsiniz.
Yukarıdaki örneği biraz genişletelim. Diyelim ki iki veri dosyanız var; biri otomobil markasını ve sunulan benzersiz model sayısını, diğeri ise otomobil markasını ve toplam satışları içeriyor:
Sunulan benzersiz model sayısı
| Marka | Model sayısı |
|---|---|
| Honda | 63 |
| BMW | 10 |
| Ford | 26 |
| Tesla | 4 |
Toplam satış
| Marka | Satış |
|---|---|
| Ford | 119157 |
| BMW | 25908 |
| Honda | 188328 |
| Tesla | 29975 |
Şuna dikkat etmek önemlidir: Birden fazla veri kümesinde aynı gözlem varsa ve bunları cbind() kullanarak yatay olarak birleştirirseniz, tablonuzda gereksiz (mükerrer) sütunlar oluşur. Ayrıca iki veri kümesi ilişkili bilgiler içerse de, satırların sırası önemlidir!
Aşağıdaki konsolda, models ve sales üzerinde cbind() çağrısı yapın ve sonucu yazdırın:
# Add datasets horizontally
cbind(models, sales)
Şuna benzer bir çıktı almış olmalısınız:
Modeller & Satışlar
| Marka | Model sayısı | Marka | Satış |
|---|---|---|---|
| Honda | 63 | Ford | 119157 |
| BMW | 10 | BMW | 25908 |
| Ford | 26 | Honda | 188328 |
| Tesla | 4 | Tesla | 29975 |
Buradaki sorunu görüyor musunuz? Bu veriler düzenli (tidy) değil!
bu temel kursta öğretilen düzenli veri ilkelerine göre, bir veri kümesindeki her gözlem benzersiz bir satırda temsil edilmelidir. Peki ya bir veri kümesinde yalnızca bazı satırlara ilişkin bilginiz varsa ve yalnızca onlar için bilgi eklemek istiyorsanız? Başka bir deyişle, bir veri kümesinden diğerine daha fazla sütun eklemek istiyorsunuz ama bu veri kümelerinin gözlem sayıları aynı değilse ne olur?
Birincil Anahtar ve Yabancı Anahtarlar
Veri kümelerini birleştirmeye çalışırken ilk adım, veri kümenizin birincil anahtarını aramaktır. Birincil anahtar, veri kümenizdeki her gözlemi benzersiz olarak tanımlayan sütun veya sütunlar grubudur. Otomobil markaları, sunulan benzersiz model sayısı ve toplam satışlar örneğinde, veri kümelerinizin birincil anahtarı make sütunudur.
Artık veri kümelerini tek bir tabloda birleştirmenin standart yolu olan join işlemlerini gerçekleştirebiliriz.
Join Türleri
Birçok join türü vardır. Bir veri kümesindeki sütunları diğerinden gelen sütunlarla nasıl zenginleştireceğinizi mutating join'lerle, bir veri kümesini diğerine göre nasıl filtreleyeceğinizi filtering join'lerle ve veri kümeleri üzerinde nasıl küme işlemleri yapacağınızı dplyr ile R'de Verileri Birleştirme kursunda öğrenebilirsiniz. Aşağıda en yaygın olanlardan bazıları yer alıyor.
left_join(x, y): x’teki tüm satırları ve x ile y’nin tüm sütunlarını döndürür. y’de eşi olmayan x satırları, yeni sütunlarda NA değerleri alır. x ile y arasında birden fazla eşleşme varsa, eşleşmelerin tüm kombinasyonları döndürülür.
inner_join(x, y): y’de eşleşen değerlerin bulunduğu x’teki tüm satırları ve x ile y’nin tüm sütunlarını döndürür. x ile y arasında birden fazla eşleşme varsa, eşleşmelerin tüm kombinasyonları döndürülür.
full_join(x, y): Hem x hem de y’den tüm satırları ve tüm sütunları döndürür. Eşleşen değerlerin olmadığı yerlerde, eksik olan için NA döndürülür.
Yukarıda bahsedilen join'ler, iki veri kümesinden değişkenleri birleştirdikleri için mutating join örnekleridir.
Eksik Anahtarlar
Diyelim ki iki veri kümeniz var. İlk veri kümesi size olarak adlandırılır ve kişilerin adlarını ve gömlek bedenlerini içerir:
> size
name size
1 Tom M
2 Dan XL
3 Keil S
İkinci veri kümesi color olarak adlandırılır ve kişilerin soyadlarını, gömlek rengi tercihlerini içerir ve bazı bilgileri row.names özniteliğinde saklar:
> color
surname color
Tom Jeon <NA>
Dan Smith Dark
Bob McLadden Light
Burada neyin ters gidebileceğini fark ettiniz mi? İki tabloyu birleştirmek, anahtarlar eksik olduğunda veya yinelenen anahtarlar bulunduğunda karmaşık hale gelebilir. Bu örnekte, R'nin data frame yapıları önemli bilgileri row.names özniteliğinde saklıyor. Bu durumda, join fonksiyonları yalnızca data frame'in sütunlarına erişebildiğinden, anahtara bir join fonksiyonuyla erişemezsiniz.
Bu sorunu kolayca çözmenin püf noktası, tibble paketindeki rownames_to_column() fonksiyonunu kullanmaktır. Bu fonksiyon, satır adlarının veri içine bir sütun olarak eklendiği veri kümenizin bir kopyasını döndürür. rownames_to_column() fonksiyonunun ilk argümanı data frame nesneniz, ikinci argümanı ise eklemek istediğiniz sütunun adını belirten bir karakter dizisidir.
Aşağıdaki konsolda keşfetmeyi deneyin. size ve color veri kümeleri çalışma alanınıza önceden yüklenmiştir.
# Explore here!
Son Düşünceler
Gerçek dünyada veriler, birçok veri kümesine ve çok sayıda farklı formata bölünmüş halde gelebilir. R, tekil veri tablolarıyla çalışacak şekilde tasarlandığından, veri kümelerini tek bir tabloda dönüştürmek ve birleştirmek temel bir beceridir. R ile Veri İçe Aktarma & Temizleme yetenek yolunu tamamlayarak verileri her formatta ayrıştırmayı ve birleştirmeyi öğrenin. DataCamp'in R Veri İçe Aktarma eğitimine göz atın. İyi öğrenmeler!

Uygulamada veriler farklı sunucularda barındırılır ve birçok farklı dosyada bulunur. İhtiyacınız olan veriler birden fazla kaynaktan geldiğinde, mümkün olduğunca az bilgi kaybedecek ve verinizin yapısı göz önüne alındığında gerçekten anlamlı eşleştirmeler yapacak şekilde bunları nasıl bir araya getireceğinizi bilmek çok önemlidir.
Bu eğitimde şunları adım adım göreceksiniz:
Veri Kümelerini Birleştirme (Concatenate)
Genel düzeyde, veri kümelerini birleştirmenin iki yolu vardır; veri kümenize daha fazla satır ekleyerek ya da daha fazla sütun ekleyerek bilgi katabilirsiniz. Genel olarak, aynı sütun setine sahip veri kümeleriniz veya aynı gözlem setine sahip veri kümeleriniz olduğunda, bunları sırasıyla dikey veya yatay olarak birleştirebilirsiniz. Örneklerle öğrenelim.
Veri kümelerini dikey olarak ekleme
Aynı sütun setine sahip birden fazla veri kümeniz olduğunda, bir veri kümesini diğerine dikey olarak ekleyebilirsiniz. Yani, veri kümenizin sütunlarını koruyarak ona daha fazla satır ekleyebilirsiniz. Bu tür bilgilerin tek bir dosyada bulunması, birden fazla dosya arasında gidip gelme zahmeti ve takibi kaybetme riski olmadan bilgileri bir araya getirmenizi ve büyük resmi görmenizi kolaylaştırır.
Veri kümesi 1
Veri kümesi 2
Şuna dikkat etmek önemlidir: Birden fazla veri kümesinde aynı gözlem varsa ve bunları
rbind()kullanarak dikey olarak birleştirirseniz, tablonuzda yinelenen gözlemlerle karşılaşırsınız. Ayrıca iki veri kümesi aynı değişken setine (yani sütunlara) sahip olmak zorunda olsa da, aynı sırada olmak zorunda değildir. Aşağıdaki konsolda kendiniz görün!Çalışma alanınızda yukarıda gördüğünüz
dataset1vedataset2adlı iki veri kümesi bulunmaktadır.dataset1’in sütunlarının sırasını değiştirmeyi deneyin.dataset1vedataset2’nin yanı sırareordered_dataset1vedataset2üzerinderbind()çağrısı yapın.rbind()sonrasında, sonuçlar tek bir tabloda dört otomobil markasının tüm bilgilerini aşağıdaki gibi içermelidir:Dikey olarak birleştirilmiş veri kümesi