Vektör İşlemleri
Coddy'nin R Journey'sinin Temeller bölümünün bir parçası — ders 59 / 78.
R'ın en güçlü özelliklerinden biri, her bir öğe üzerinde döngü kurmaya gerek kalmadan tüm vektörler üzerinde aynı anda işlem yapabilme yeteneğidir. Bu, kodunuzu hem daha temiz hem de daha verimli hale getirir.
Bir vektöre aritmetik bir operatör uyguladığınızda, R işlemi her bir eleman üzerinde gerçekleştirir:
prices <- c(10, 25, 15, 30)
discounted <- prices * 0.9
print(discounted)Çıktı:
[1] 9.0 22.5 13.5 27.0Aynı uzunluktaki iki vektör arasında da işlemler gerçekleştirebilirsiniz. R, karşılık gelen öğeleri eşleştirir:
quantities <- c(2, 1, 4, 3)
prices <- c(10, 25, 15, 30)
totals <- quantities * prices
print(totals)Çıktı:
[1] 20 25 60 90R, sum(), mean(), min() ve max() gibi yaygın vektör hesaplamaları için kullanışlı yerleşik fonksiyonlar sunar:
scores <- c(85, 92, 78, 95, 88)
print(sum(scores))
print(mean(scores))
print(min(scores))
print(max(scores))Çıktı:
[1] 438
[1] 87.6
[1] 78
[1] 95Görev
KolayAşağıdaki vektörler size sağlanmıştır:
hours_worked <- c(8, 7, 9, 6, 8)
hourly_rate <- c(15, 20, 18, 22, 17)Aşağıdaki işlemleri gerçekleştirin ve her bir sonucu yazdırın:
hours_workedilehourly_ratedeğerlerini çarparak (eleman bazlı) her gün için günlük kazancı hesaplayın. Bu vektörü yazdırın.- Tüm günlük kazançlara %10 bonus uygulayın (
1.1ile çarpın). Güncellenmiş kazanç vektörünü yazdırın. sum()kullanarak haftalık toplam kazancı yazdırınmean()kullanarak ortalama günlük kazancı yazdırınmax()kullanarak en yüksek tek günlük kazancı yazdırınmin()kullanarak en düşük tek günlük kazancı yazdırın
Çıktınız şu şekilde olmalıdır:
[1] 120 140 162 132 136
[1] 132.0 154.0 178.2 145.2 149.6
[1] 759
[1] 151.8
[1] 178.2
[1] 132Kopya kağıdı
R, döngülere ihtiyaç duymadan tüm vektörler üzerinde aynı anda işlemler gerçekleştirir.
Bir vektöre aritmetik bir operatör uygulamak, işlemi her eleman üzerinde gerçekleştirir:
prices <- c(10, 25, 15, 30)
discounted <- prices * 0.9
print(discounted)
# [1] 9.0 22.5 13.5 27.0Aynı uzunluktaki iki vektör arasındaki işlemler, karşılık gelen elemanları eşleştirir:
quantities <- c(2, 1, 4, 3)
prices <- c(10, 25, 15, 30)
totals <- quantities * prices
print(totals)
# [1] 20 25 60 90Vektör hesaplamaları için yaygın yerleşik fonksiyonlar:
scores <- c(85, 92, 78, 95, 88)
sum(scores) # [1] 438
mean(scores) # [1] 87.6
min(scores) # [1] 78
max(scores) # [1] 95Kendin dene
# Verilen vektörler
hours_worked <- c(8, 7, 9, 6, 8)
hourly_rate <- c(15, 20, 18, 22, 17)
# YAPILACAK: Kodunuzu aşağıya yazın
# 1. Günlük kazançları hesaplayın (eleman bazlı çarpma)
# 2. Günlük kazançlara %10 bonus uygulayın
# 3. sum() kullanarak haftalık toplam kazancı yazdırın
# 4. mean() kullanarak ortalama günlük kazancı yazdırın
# 5. max() kullanarak en yüksek günlük kazancı yazdırın
# 6. min() kullanarak en düşük günlük kazancı yazdırınBu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Temeller bölümündeki tüm dersler
4Operatörler Bölüm 2
Mantıksal Operatörler (AND, OR)Mantıksal Operatörler Bölüm 2 (NOT)Özet - Basit MantıkVektörize Mantık Bölüm 1Vektörize Mantık Bölüm 27Hesap Paylaşım Hesaplayıcısı
Hoş Geldiniz MesajıKullanıcıdan Girdi Alma10Farklı Bir FizzBuzz
Oyuna Genel BakışFizzBuzz Fonksiyonu2Değişkenler ve Veri Tipleri
Sayısal Veri TipiTam Sayı Veri TipiKarakter Veri TipiMantıksal Veri TipiVeri Tiplerini Kontrol Etmeİsimlendirme KurallarıEksik Değerler: NAÖzet - Değişken Oluşturma8Döngüler
For DöngüsüWhile DöngüsüBreakNext (Continue)Özet - FaktöriyelDizi Oluşturma (seq, :)İç İçe DöngülerÖzet - Dinamik Girdi3Operatörler 1. Bölüm
Aritmetik OperatörlerTam Sayı Bölmesi ve Mod AlmaAtama OperatörleriÖzet - Basit MatematikKarşılaştırma Operatörleri6Temel Giriş-Çıkış
Print ÇıktısıÇıktı için Cat KullanımıDeğişkenlerle Çıktı Almakreadline() ile Girdi OkumaTip Dönüşümü TemelleriÖzet - Yaş HesaplayıcıÖzet - Doğru mu Yanlış mı9Fonksiyonlar
Fonksiyon TanımlamaFonksiyon ArgümanlarıDönüş DeğerleriÖzet - Sigma FonksiyonuÖzet - Doğrulama FonksiyonuVarsayılan Parametre Değerleri