rep() R'de: Çoğaltma İşlevinin Kodunu Çözme
Yayınlanan: 2020-06-15R'de rep hakkında konuşmadan önce yinelemenin ne olduğunu bilmeliyiz. Yineleme terimi, tekrar anlamına gelir. Diğer programlama dillerinin çoğunda olduğu gibi, geleneksel döngü veya yineleme, R'nin temel bir yönüdür.
Düzenli döngüler, veri yönetimi için verimli bir yaklaşım olsa da, yinelemenin bellek ve zaman alıcı olması nedeniyle yalnızca maliyetlidir. İyi bir alternatif, yinelemeyle aynı hedeflere ulaşabilen vektörleştirilmiş yöntemlerin kullanılmasıdır; rep() işlevi, böyle bir vektörleştirilmiş döngü işlevinin üyesidir.
İçindekiler
rep() işlevi nedir?
Basit bir ifadeyle, R'deki rep veya rep() işlevi, sayısal değerleri veya metni veya bir vektörün değerlerini belirli bir sayıda çoğaltır. rep() işlevi, R temel paketinin application() işlev ailesinin bir üyesidir. Apply() ailesi, dizilerden, matrislerden, veri çerçevelerinden ve listelerden tekrar tekrar verileri işlemek için kullanılan işlevleri içerir.
Apply() işlevleri, diziler, matrisler veya giriş listeleri üzerinde hareket etmek için döngü yapılarının kullanımından kaçınır ve isteğe bağlı argümanlarla adlandırılmış bir işlev uygular. Çağrılan işlev bir toplama işlevi, dönüştürme işlevi veya diziler, vektörler, listeler ve matrisler gibi vektörleştirilmiş işlevler olabilir. İşlevler hakkında daha fazla bilgi edinmek için veri bilimi kurslarımıza göz atın.
Devamını oku : Python'da Veri Çerçeveleri: Python Ayrıntılı Eğitimi
Yinelemelere karşı vektörleştirilmiş hesaplamalar
Bir dizinin tek tek öğeleri üzerinde çalışmak yerine, vektörleştirilmiş yöntemler tüm vektör bileşenleri üzerinde aynı anda çalışır. Böylece vektörleştirilmiş hesaplamalar her zaman daha hızlı sonuçlar getirir.
Vektörlü hesaplamaların hızını göstermek için, büyük bir vektörün oluşturulması için bir for() döngüsünün geçen süreyi belirleyen bir örnek kullanacağız. Örnekte, her öğe 1'den N'ye kadar artan kümülatif toplam olarak sırayla hesaplanır (burada N = 10.000.000). Hız testleri yoluyla for() döngü yinelemesi ile vektörleştirilmiş işlev arasında bir karşılaştırma yapılır.
Kaynak
Hız testlerinin sonuçları karşılaştırıldığında, vektörleştirilmiş hesaplama (hız testi 2) için geçen sürenin for() döngüsünden önemli ölçüde daha hızlı olduğu açıktır. Yinelemeli döngünün bir geçişi için geçen sürede, vektörleştirilmiş hesaplama 278 kez tekrarlanabilir.
Tekrarla ve Çoğaltma işlevi
Belirli bir koşul karşılanana kadar aynı kod bloğunu tekrar tekrar çalıştırmak istediğimizde R'deki Tekrar işlevi veya döngüsü kullanılır. Break'e kadar bir komut bloğunu art arda yürüten for ve while döngülerine çok benzer. Bir tekrar döngüsü oluşturmak için temel sözdizimi şöyledir:
tekrar et {
if(koşul) {
kırmak
}
}
Aşağıdaki örnek, Tekrar işlevinin kullanımını netleştirecektir:
Yukarıdaki örnekte, tekrar döngüsü, değeri 6'ya ulaşana kadar toplar. Döngü 6'ya ulaştığında, “tekrar döngüsü biter” yazdırılarak döngü kesilir.
Öte yandan, çoğaltma işlevi veya R'deki rep, değerleri çoğaltmak için kullanılır. rep() işlevini kullanmak için temel R sözdizimi şöyledir:
- rep(değer,sayı_zamanları)
- rep(sıra,her biri,sayı_zamanları)
rep() işlevini anlamak için bazı örnekler:
Örnek: Değerleri belirli sayıda çoğaltmak için rep() işlevini kullanma
Yukarıdaki örnekte, 2 değeri on kez çoğaltılır.

Örnek: rep() işlevini bir uzunluk özniteliği ile kullanma
Yukarıdaki örnekte, eleman sayısı 20'ye ulaşana kadar 1'den 4'e kadar sırayla yazdırılır.
Örnek: Bir listeyi çoğaltmak için rep() işlevini kullanma
Yukarıdaki örnekte, 1'den 5'e kadar olan derecelendirme listesi üç kez tekrarlanmıştır.
Kaynak
Bir vektörü genişletmek için rep() işlevini kullanma
rep() işlevi, bir vektörü tekrarlamanın esnek bir yoludur. İşte birkaç örnek daha:
Deneysel/gözlemsel birimlerin istatistiksel vektörünü, birimlerin tekrarlanan gözlemlerini içeren bir veri çerçevesi vektörüne genişletmemiz gerekirse, her argüman çok kullanışlı olur. Örnek vermek:
rep()'in bir başka özelliği de, bir vektörün uzunluk argümanını vektördeki her bir öğenin kaç kez tekrarlanacağını belirten bir vektörle değiştirerek dengesiz bir panele genişleyebilmesidir. Örnek vermek:
rep işlevinin daha basit ve daha hızlı sürümleri rep_len() ve rep.int()'i içerir. Bu daha yeni sürümler, rep()'in bazı özniteliklerinden yoksun olarak gelir, ancak hızın birincil olduğu ve tekrarlanan vektörün ekstra yönlerinin istenmediği durumlarda kullanışlıdır.
Kaynak
Okuyun: Yeni Başlayanlar İçin 6 İlginç R Projesi Fikri
Çözüm
Bu yazımızda uygun örneklerle Tekrarla ve Çoğalt fonksiyonlarını ele aldık. Geleneksel yinelemeler, kod bloklarının tekrar tekrar yürütülmesi için faydalı olsa da, R'deki rep , bir vektör veya listenin değerlerini çoğaltmak için idealdir. Verimli ve zaman kazandıran rep() işlevi, vektör çoğaltmayı basitleştirmiştir!
R, veri bilimi hakkında bilgi edinmek istiyorsanız, IIIT-B & upGrad'ın çalışan profesyoneller için oluşturulan ve 10'dan fazla vaka çalışması ve proje, pratik uygulamalı atölye çalışmaları, endüstri uzmanlarıyla mentorluk sunan Veri Biliminde Yönetici PG Programına göz atın , sektör danışmanlarıyla bire bir, en iyi firmalarla 400+ saat öğrenim ve iş yardımı.
R'de tekrarlanan değerlere sahip bir vektörü nasıl oluşturabilirim?
R'deki rep() işlevi, bir dizi tamsayıyı tekrarlamak için kullanılabilir. R'de, tekrarlanan değerlere sahip bir vektör oluşturmak için iki teknik vardır; birinci yöntem, vektördeki her bir öğeyi tekrarlarken, ikinci yöntem öğeleri belirli bir sayıda yineler. Vektörler, bu yaklaşımların her birinde rep işlevi kullanılarak oluşturulur. Örneğin rep(1:5, times=5), 5 kez tekrarlanan 1 ila 5 dizisine sahip bir vektör verir.
Hangi işlev daha hızlıdır: Çoğaltma mı, Döngü İçin mi?
R programlama dilinde For döngüsü işlevi, çoğaltma işlevinden daha hızlıdır. For döngüsü, listedeki her bir değer için kod çalıştırarak çeşitli programlama dillerinde bir değerler listesi üzerinde döngü oluşturma tekniğidir. rep(), tek amacı belleği boşa harcamadan çalıştırmak olan vektörleştirilmiş bir döngü işlevidir. Mevcut bir veri çerçevesinin bir bölümünü değiştirmeniz gerektiğinde, For Loop genellikle en iyi seçenektir.
R kodlarını nasıl hızlandırabilirim?
R kodlarını hızlandırmak için bazı yöntemler aşağıda listelenmiştir: -
1. Veri yapılarınızı ve çıktı değişkenlerinizi hesaplamalar için bir döngüye koymadan önce, bunların doğru uzunluk ve veri türü olduklarından emin olun. Döngünün içinde, veri miktarını aşamalı olarak artırmamaya çalışın.
2. Mümkün olduğunda, veri çerçeveleri birçok durumda sorun yaratabileceğinden, veri çerçevesi yerine bir matris kullanın. Sonuç olarak, veri çerçevelerini yalnızca kesinlikle gerekli olduğunda kullanın.
3. Mümkün olduğunda vektör ve matris işlemlerini kullanın.
4. R'de bir nesnenin türünü veya boyutunu değiştirmeyin. Bir R nesnesinin türünü ve boyutunu değiştirmek, varsayılan olarak yetersiz olan bellek alanını yeniden tahsis etmesine neden olur.