Dplyr kullanarak her satıra bir işlev nasıl uygulanır?


R’de dplyr işlevlerini kullanarak bir veri çerçevesinin her satırına bir işlev uygulamak için aşağıdaki temel sözdizimini kullanabilirsiniz:

 df %>%
  rowwise() %>% 
  mutate(mean_value = mean(c(col1, col2, col3), na. rm = TRUE ))

Bu özel örnek, veri çerçevesindeki her satır için col1 , col2 ve col3’ün ortalama değerini hesaplar, ancak Mean() işlevini, kendisi için farklı bir ölçüm hesaplamak istediğiniz herhangi bir işlevle değiştirebilirsiniz.

Aşağıdaki örnekler, farklı basketbol oyuncularının farklı oyunlarda attığı puanlar hakkında bilgi içeren aşağıdaki veri çerçevesiyle bu sözdiziminin pratikte nasıl kullanılacağını göstermektedir:

 #create data frame
df <- data. frame (game1=c(22, 25, 29, 13, 22, 30),
                 game2=c(12, 10, 6, 6, 8, 11),
                 game3=c(NA, 15, 15, 18, 22, 13))

#view data frame
df

  game1 game2 game3
1 22 12 NA
2 25 10 15
3 29 6 15
4 13 6 18
5 22 8 22
6 30 11 13

Örnek 1: Her satırdaki belirli sütunların ortalaması

Aşağıdaki kod, veri çerçevesindeki her satır için oyun1 ve oyun3 sütunlarının ortalama değerinin nasıl hesaplanacağını gösterir:

 library (dplyr)

#calculate mean of game1 and game3
df %>%
  rowwise() %>% 
  mutate(mean_points = mean(c(game1, game3), na. rm = TRUE ))

# A tibble: 6 x 4
#Rowwise: 
  game1 game2 game3 mean_points
           
1 22 12 NA 22  
2 25 10 15 20  
3 29 6 15 22  
4 13 6 18 15.5
5 22 8 22 22  
6 30 11 13 21.5

Sonuçtan şunları görebiliriz:

  • İlk satırdaki oyun1 ve oyun3’ün ortalama değeri 22’dir .
  • İkinci satırdaki oyun1 ve oyun3’ün ortalama değeri 20’dir .
  • Üçüncü satırdaki oyun1 ve oyun3’ün ortalama değeri 22’dir .

Ve benzeri.

Örnek 2: Her satırdaki maksimum belirli sütun sayısı

Aşağıdaki kod, veri çerçevesindeki her satır için game2 ve game3 sütunlarının maksimum değerinin nasıl hesaplanacağını gösterir:

 library (dplyr)

#calculate max of game2 and game3
df %>%
  rowwise() %>% 
  mutate(max_points = max(c(game2, game3), na. rm = TRUE ))

# A tibble: 6 x 4
#Rowwise: 
  game1 game2 game3 max_points
          
1 22 12 NA 12
2 25 10 15 15
3 29 6 15 15
4 13 6 18 18
5 22 8 22 22
6 30 11 13 13

Sonuçtan şunları görebiliriz:

  • İlk satırdaki oyun2 ve oyun3’ün maksimum değeri 12’dir .
  • İkinci satırdaki oyun2 ve oyun3’ün maksimum değeri 15’tir .
  • Üçüncü satırdaki oyun2 ve oyun3’ün maksimum değeri 15’tir .

Ve benzeri.

Örnek 3: Her satırdaki belirli sütunların standart sapması

Aşağıdaki kod, veri çerçevesindeki her satır için game2 ve game3 sütunlarındaki değerlerin standart sapmasının nasıl hesaplanacağını gösterir:

 library (dplyr)

#calculate standard deviation of game2 and game3
df %>%
  rowwise() %>% 
  mutate(sd_points = sd(c(game2, game3), na. rm = TRUE ))

# A tibble: 6 x 4
#Rowwise: 
  game1 game2 game3 sd_points
         
1 22 12 NA NA   
2 25 10 15 3.54
3 29 6 15 6.36
4 13 6 18 8.49
5 22 8 22 9.90
6 30 11 13 1.41

Sonuçtan şunları görebiliriz:

  • İlk satırdaki oyun2 ve oyun3’ün standart sapması NA’dır (çünkü standart sapma tek bir değerden hesaplanamaz).
  • İkinci sıradaki oyun2 ve oyun3’ün standart sapması 3,54’tür .
  • İlk satırdaki oyun2 ve oyun3’ün standart sapması 6,36 .

Ve benzeri.

Not : Rowwise() işlevinin tam belgelerini dplyr’de burada bulabilirsiniz.

Ek kaynaklar

Aşağıdaki eğitimlerde dplyr kullanılarak diğer genel görevlerin nasıl gerçekleştirileceği açıklanmaktadır:

Dplyr kullanarak farklı değerler nasıl sayılır?
Dplyr kullanarak birden fazla sütunun toplamı nasıl hesaplanır
Dplyr kullanarak bir veri çerçevesindeki birden çok değer nasıl değiştirilir?

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir