Ana içeriğe geç
Modül 4 · Ders 2 ders 2Kurstaki 8/10~15 min
Modül dersleri (2/2)

Mutasyonlar ve Toplamalar

Dplyr, seçme ve filtrelemenin ötesinde, yeni hesaplanmış sütunlar oluşturmak ve verileri gruplar halinde toplayarak özetlemek için güçlü yetenekler sunar.


Yeni Sütunlar Oluşturma: mutate()

mutate() fiili, tüm orijinal sütunları olduğu gibi korurken yeni sütunları hesaplamanıza veya mevcut sütunları değiştirmenize olanak tanır.

R
# Adds a 'double_salary' column computed as 'salary' multiplied by 2
df %>%
  mutate(double_salary = salary * 2)

# You can create multiple columns at once
df %>%
  mutate(
    total_cost = quantity * price,
    tax = total_cost * 0.22
  )

Gruplandırma ve Toplama: group_by() ve summarise()

Çoğu zaman veri analizi, belirli satır grupları için (örneğin, her departman için ortalama maaşın hesaplanması) özet istatistiklerin (örneğin ortalama, toplam, sayım) hesaplanmasını gerektirir.

1. group_by()

Veri çerçevesini bir veya daha fazla sütunun değerlerine göre gruplandırır. Tek başına verinin görsel görünümünü değiştirmez, ancak dplyr'e sonraki işlemlerin "grup grup" yürütülmesi gerektiğinin sinyalini verir.

2. summarise() (veya summarize())

mean(), sum(), min(), max() veya n() (satırları sayar) gibi istatistiksel işlevleri uygulayarak birçok satırı tek bir özet satırına daraltır.

R
# Calculates the average salary per department
df %>%
  group_by(department) %>%
  summarise(mean_salary = mean(salary))

Her gruba kaç kaydın ait olduğunu saymak istiyorsanız:

R
# Counts how many employees are in each city
df %>%
  group_by(city) %>%
  summarise(count = n())

Kendin dene

Alıştırma 1: Hesaplanmış bir sütun oluşturun

Egzersiz#r.m4.l2.e1
Denemeler: 0Yükleniyor…

Veri çerçevesi df göz önüne alındığında, mutate() işlevini kullanarak miktar sütununu fiyat sütunuyla çarparak toplam_fiyat adlı yeni bir sütun oluşturun. Sonucu df_new'e kaydedin.

Düzenleyici yükleniyor…
İpucu göster

Df'de bir ardışık düzen içinde mutate(total_price = miktar * fiyat) kullanın.

3 denemeden sonra çözüm mevcut

Alıştırma 2: Gruplandırın ve ortalamayla özetleyin

Egzersiz#r.m4.l2.e2
Denemeler: 0Yükleniyor…

Kayıtları departman sütununa göre gruplandırarak maaş sütununun ortalamasını hesaplayın. Toplanan sütunu ortalama_salary adıyla kaydedin ve nihai sonucu df_grouped'a atayın.

Düzenleyici yükleniyor…
İpucu göster

ABD df %>% group_by(bölüm) %>% summarise(mean_salary = ortalama(maaş))

3 denemeden sonra çözüm mevcut

Alıştırma 3: Grup başına öğeleri sayın

Egzersiz#r.m4.l2.e3
Denemeler: 0Yükleniyor…

Her şehir için satır sayısını sayın (şehir sütunu). Sayımı, n() işlevini kullanarak summarise() içindeki sayım değişkenine atayın ve nihai sonucu df_counts'a kaydedin.

Düzenleyici yükleniyor…
İpucu göster

group_by(city) con summarise(count = n()) işlevini tek bir işlem hattında birleştirin.

3 denemeden sonra çözüm mevcut

Alıştırma 4: Çoklu özetler

Egzersiz#r.m4.l2.e4
Denemeler: 0Yükleniyor…

Kategori sütununa göre gruplandırarak fiyat sütununun minimum değerini (min_price) ve maksimum değerini (max_price) hesaplayın. Sonucu df_summary'ye kaydedin.

Düzenleyici yükleniyor…
İpucu göster

summarise() içinde min_price = min(price) ve max_price = max(price) ölçümlerini virgülle ayırın.

3 denemeden sonra çözüm mevcut

Alıştırma 5: Gruplandırma ve birleştirilmiş filtreler

Egzersiz#r.m4.l2.e5
Denemeler: 0Yükleniyor…

DF'yi departman sütununa göre gruplandıran, maaş ortalamasını hesaplayan ve mutate() işlevini kullanarak bunu yeni avg_salary sütununa kaydeden bir işlem hattı yazın (Not: tüm satırları tutmak için mutate kullanın, özet değil) ve son olarak yalnızca maaşın kesinlikle avg_salary'den büyük olduğu kayıtları tutacak şekilde filtreler. Res'e kaydedin.

Düzenleyici yükleniyor…
İpucu göster

ABD df %>% group_by(bölüm) %>% mutate(avg_salary = ortalama(maaş)) %>% filter(salary > avg_salary)

3 denemeden sonra çözüm mevcut