Birçok kuruluş verilerini AWS, Azure ve GCP gibi veritabanları ve depolama çözümlerinde tutsa da, Microsoft Excel hesap tabloları daha küçük veri kümelerini saklamak için yaygın biçimde kullanılmaya devam ediyor.
Excel'in veri bilimi işlevleri R'ye kıyasla daha sınırlıdır; bu nedenle, verileri hesap tablolarından R'ye aktarabilmek faydalıdır.
Bu öğreticide, readxl paketini kullanarak Excel çalışma sayfalarını (ayrıca belirli satır ve sütunları) R'ye okumayı ele alacağız.
Bunu anlayabilmek için R hakkında temel düzeyde çalışma bilgisine ihtiyacınız olacak.
R'ye okuyacağımız veri kümesi, hangi sayfanın okunacağını belirtmeyi göstermek için yalnızca iki sayfadan oluşan küçük bir dosyadır. buradan bulunabilir.
İlk sayfa, 45.211 satır ve 17 sütundan oluşan bir banka pazarlaması veri kümesidir. Aşağıdaki ekran görüntüsü “sample.xlsx” adlı Excel dosyasının ve “bank-full” adlı sayfanın bir görüntüsüdür.
İkinci sayfa ise 150 satır ve 6 sütundan oluşan Iris veri kümesidir ve iris çiçeği türleri hakkında, çanak yaprak ve taç yaprak uzunlukları ile genişlikleri gibi bilgiler içerir. Aşağıdaki ekran görüntüsü aynı Excel dosyası “sample.xlsx”ten ve “iris” adlı sayfadan alınmıştır.
Paketlere Genel Bakış
Bu öğretici readxl paketini kullanır. openxlsx paketi, XLSX dosyalarına yazma yeteneğini de içeren iyi bir alternatiftir; ancak dplyr ve tidyr gibi tidyverse paketleriyle entegrasyonu daha zayıftır.
readxl paketiyle Excel dosyalarını okuyabilmek için önce paketi kurmamız, ardından “library” işleviyle içe aktarmamız gerekir.
read_excel() işlevini de read_xlsx() ile aynı şekilde kullanabilirsiniz ve sonraki bölümlerde göreceğiniz tüm argümanlar bu işlevle de benzer şekilde çalışır. read_excel() bir XLSX hesap tablosu mu yoksa daha eski XLS hesap tablosu türü mü kullandığınızı tahmin etmeye çalışacaktır.
skip ve n_max argümanlarını ayarlayarak bir çalışma kitabından belirli satırları okuyalım. İlk birkaç satırı atlamak için skip argümanını, atlamak istediğiniz satır sayısına eşit bir değerle kullanabilirsiniz.
Yukarıdaki kodun başlıkları da atlattığını lütfen unutmayın. Sonraki bölümlerde read_xlsx() işlevinde başlıkların nasıl açıkça belirtileceğini öğreneceksiniz.
Benzer şekilde, ilk n satırı okumak için read_xlsx() işlevinde n_max argümanını belirtin. Aşağıdaki kod “bank-full” sayfasının ilk 1000 satırını okur.
Ayrıca, birkaç satırı atlamak ve kalan veri kümesinden belirli sayıda satırı okumak için her iki argümanı birlikte kullanabilirsiniz.
Belirli Hücreleri Okuma
“skip” ve “n_max” argümanları verilerin satırlarının bir alt kümesini okumanıza olanak tanırken, range argümanını ayarlayarak bir çalışma kitabından belirli hücreleri okuyabilirsiniz.
Veri kümesinin alt kümesini belirtmek için iki gösterim vardır:
A1 (E4:G8) gösterimi - A sütunu, 1 ise satır numarasını temsil eder.
R1C1 (R4C5:R8C7) gösterimi - Satır numarası ve sütun numarası açıkça tanımlıdır
Fikir, veri kümesinden almak istediğiniz dikdörtgenin koordinatlarını belirtmektir.
Gösterim 1:
bank_df_range1 <- read_excel("sample.xlsx", sheet ="bank-full", range ="A3:E10")Altyapı:
Gösterim 2:
bank_df_range2 <- read_excel("sample.xlsx", sheet ="bank-full",
range ="R3C1:R10C5")Altyapı:
Range, argümanın içine sayfa adını da dahil etmenize izin verir (örnek: wbook!E4:G8).
bank_df_range3 <- read_excel("sample.xlsx", range ="bank-full!R3C1:R10C5")Altyapı:
Başlık Satırı Olmadan Veri Okuma
col_names argümanını bir karakter vektörüne ayarlayarak başlık satırı olmayan verileri okuyalım.
Not: Önce başlık satırını kaldırmak için skip argümanını kullanıyoruz.
Son bölümde belirttiğimiz başlıklar boşlukla ayrılmıştı. .name_repair = "universal" argümanıyla başlık adlarını sözdizimsel olarak geçerli R değişkenlerine dönüştürebilirsiniz.
Varsayılan olarak, bir Excel dosyasını okuduğunuzda R her değişkenin veri tipini tahmin eder. Varsayılan argümanlarla okunan iris veri kümesinin sütun türlerini inceleyelim.
Id SepalLengthCm SepalWidthCm PetalLengthCm PetalWidthCm Species
"numeric" "numeric" "numeric" "numeric" "numeric" "character" Altyapı:
Sütunları Atlamak
Çoğu zaman “veri ne kadar çoksa o kadar iyi” denir. Ancak pek çok kullanım senaryosunda, bazı değişkenlerin/sütunların herhangi bir sinyal taşımadığını görürsünüz; bunun aşağıdaki nedenlerden herhangi biri olabilir.
yüksek kartlılık: neredeyse her değer farklı
sıfır kartlılık: her değer aynı
iş kullanım senaryosuyla ilgisiz
çok fazla eksik değer
çok fazla gereksiz değer
Aşağıda gösterildiği gibi col_types'ı "skip" olarak ayarlayarak bazı sütunları okumayı atlayabilirsiniz.
Verilerin muazzam bir hızla ve çok çeşitli biçimlerde üretildiği bir dünyada, programlama dilinizin bu veri türlerini okumayı desteklemesi gerekir. R, bu çabayı destekleyen güçlü dillerden biridir. R'nin çeşitli veri kümelerini içe aktarmak için nasıl paketler sunduğunu öğrenmek üzere “R'de Veri İçe Aktarmaya Giriş” kursuna kaydolun. Bu kurs, R'de veri içe aktarma konusundaki anlayışınızı güçlendirmek için öğreticiler ve kısa sınavlar sunar.
Sıkça Sorulan Sorular
R projeler için hem CSV hem de Excel verilerini içe aktarabilir mi?⌄
Evet, R projeler için hem CSV hem de Excel verilerini içe aktarabilir ve her iki biçimi de işlemek için güçlü paketler ve işlevler sunar. Veri projeleriniz için doğru seçimi yapmaya yönelik ayrıntılı bir karşılaştırma ve rehber için CSV ve Excel hakkındaki yazımızı okuyun.
Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
Birçok kuruluş verilerini AWS, Azure ve GCP gibi veritabanları ve depolama çözümlerinde tutsa da, Microsoft Excel hesap tabloları daha küçük veri kümelerini saklamak için yaygın biçimde kullanılmaya devam ediyor.
Excel'in veri bilimi işlevleri R'ye kıyasla daha sınırlıdır; bu nedenle, verileri hesap tablolarından R'ye aktarabilmek faydalıdır.
Bu öğreticide, readxl paketini kullanarak Excel çalışma sayfalarını (ayrıca belirli satır ve sütunları) R'ye okumayı ele alacağız.
Bunu anlayabilmek için R hakkında temel düzeyde çalışma bilgisine ihtiyacınız olacak.
R'ye farklı dosya türlerini içe aktarmaya yönelik daha genel bir rehber için R'ye Veri Nasıl İçe Aktarılır: Bir Öğretici yazısını okuyun.
Excel Dosyası
R'ye okuyacağımız veri kümesi, hangi sayfanın okunacağını belirtmeyi göstermek için yalnızca iki sayfadan oluşan küçük bir dosyadır. buradan bulunabilir.
İlk sayfa, 45.211 satır ve 17 sütundan oluşan bir banka pazarlaması veri kümesidir. Aşağıdaki ekran görüntüsü “sample.xlsx” adlı Excel dosyasının ve “bank-full” adlı sayfanın bir görüntüsüdür.
İkinci sayfa ise 150 satır ve 6 sütundan oluşan Iris veri kümesidir ve iris çiçeği türleri hakkında, çanak yaprak ve taç yaprak uzunlukları ile genişlikleri gibi bilgiler içerir. Aşağıdaki ekran görüntüsü aynı Excel dosyası “sample.xlsx”ten ve “iris” adlı sayfadan alınmıştır.
Paketlere Genel Bakış
Bu öğretici readxl paketini kullanır. openxlsx paketi, XLSX dosyalarına yazma yeteneğini de içeren iyi bir alternatiftir; ancak dplyr ve tidyr gibi tidyverse paketleriyle entegrasyonu daha zayıftır.
readxl paketiyle Excel dosyalarını okuyabilmek için önce paketi kurmamız, ardından “library” işleviyle içe aktarmamız gerekir.
Konsolda aşağıdaki çıktıyı görürsünüz; bu, kurulumun başarılı olduğunu gösterir.
“readxl” metodlarını kullanmak için R konsolunda aşağıdaki komutu çalıştırın.
openxlsx paketinin, XLSX dosyalarına yazmak için başka bir iyi alternatif olduğunu unutmayın.
İlk Çalışma Kitabını Okuma
İlk çalışma sayfasındaki, “bank-full”, tüm verileri yalnızca path argümanıyla read_xlsx() kullanarak okuyalım.
Ortaya çıkan veri bir tibble'dır.
read_excel() işlevini de read_xlsx() ile aynı şekilde kullanabilirsiniz ve sonraki bölümlerde göreceğiniz tüm argümanlar bu işlevle de benzer şekilde çalışır. read_excel() bir XLSX hesap tablosu mu yoksa daha eski XLS hesap tablosu türü mü kullandığınızı tahmin etmeye çalışacaktır.
Diğer Çalışma Kitaplarını Okuma
Şimdi read_xlsx() işlevi ve sheet argümanıyla ikinci çalışma kitabındaki, yani “iris”, tüm verileri okuyalım.
Sayfa adı yerine sheet argümanında sayfa numarasını da belirtebilirsiniz.
Belirli Satırları Okuma
skip ve n_max argümanlarını ayarlayarak bir çalışma kitabından belirli satırları okuyalım. İlk birkaç satırı atlamak için skip argümanını, atlamak istediğiniz satır sayısına eşit bir değerle kullanabilirsiniz.
Yukarıdaki kodun başlıkları da atlattığını lütfen unutmayın. Sonraki bölümlerde read_xlsx() işlevinde başlıkların nasıl açıkça belirtileceğini öğreneceksiniz.
Benzer şekilde, ilk n satırı okumak için read_xlsx() işlevinde n_max argümanını belirtin. Aşağıdaki kod “bank-full” sayfasının ilk 1000 satırını okur.
Ayrıca, birkaç satırı atlamak ve kalan veri kümesinden belirli sayıda satırı okumak için her iki argümanı birlikte kullanabilirsiniz.
Belirli Hücreleri Okuma
“skip” ve “n_max” argümanları verilerin satırlarının bir alt kümesini okumanıza olanak tanırken, range argümanını ayarlayarak bir çalışma kitabından belirli hücreleri okuyabilirsiniz.
Veri kümesinin alt kümesini belirtmek için iki gösterim vardır:
Fikir, veri kümesinden almak istediğiniz dikdörtgenin koordinatlarını belirtmektir.
Gösterim 1:
Gösterim 2:
Range, argümanın içine sayfa adını da dahil etmenize izin verir (örnek: wbook!E4:G8).
Başlık Satırı Olmadan Veri Okuma
col_names argümanını bir karakter vektörüne ayarlayarak başlık satırı olmayan verileri okuyalım.
Not: Önce başlık satırını kaldırmak için skip argümanını kullanıyoruz.
Başlık Adlarını Onarma
Son bölümde belirttiğimiz başlıklar boşlukla ayrılmıştı. .name_repair = "universal" argümanıyla başlık adlarını sözdizimsel olarak geçerli R değişkenlerine dönüştürebilirsiniz.
Sütun Türlerini Belirtme
Varsayılan olarak, bir Excel dosyasını okuduğunuzda R her değişkenin veri tipini tahmin eder. Varsayılan argümanlarla okunan iris veri kümesinin sütun türlerini inceleyelim.
Sütun türü tahminlerini geçersiz kılmak için col_types argümanını kullanabilirsiniz.
Belirli değişkenlerin sütun türlerini R'nin tahmin etmesine izin vermek için, ilgili sütun için col_types değerini “guess” olarak belirtebilirsiniz.
Sütunları Atlamak
Çoğu zaman “veri ne kadar çoksa o kadar iyi” denir. Ancak pek çok kullanım senaryosunda, bazı değişkenlerin/sütunların herhangi bir sinyal taşımadığını görürsünüz; bunun aşağıdaki nedenlerden herhangi biri olabilir.
Aşağıda gösterildiği gibi col_types'ı "skip" olarak ayarlayarak bazı sütunları okumayı atlayabilirsiniz.
Verilerin muazzam bir hızla ve çok çeşitli biçimlerde üretildiği bir dünyada, programlama dilinizin bu veri türlerini okumayı desteklemesi gerekir. R, bu çabayı destekleyen güçlü dillerden biridir. R'nin çeşitli veri kümelerini içe aktarmak için nasıl paketler sunduğunu öğrenmek üzere “R'de Veri İçe Aktarmaya Giriş” kursuna kaydolun. Bu kurs, R'de veri içe aktarma konusundaki anlayışınızı güçlendirmek için öğreticiler ve kısa sınavlar sunar.