C: apply() işlevi belirli sütunlarda nasıl kullanılır?


Çoğunlukla, R’deki bir veri çerçevesindeki belirli sütunlara bir işlev uygulamak için Apply() işlevini kullanmak isteyebilirsiniz.

Bununla birlikte, application() işlevi, bir işlevi uygulamadan önce ilk olarak bir veri çerçevesindeki tüm sütunların aynı nesne türüne sahip olmasını zorlar ve bu bazen istenmeyen sonuçlara yol açabilir.

Aşağıdaki temel sözdizimini kullanan lapply() işlevi daha iyi bir seçimdir:

 df[c(' col1 ', ' col2 ')] <- lapply(df[c(' col1 ', ' col2 ')], my_function)

Bu özel örnek, my_function işlevini yalnızca veri çerçevesindeki col1 ve col2’ye uygular.

Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.

Örnek: veri çerçevesindeki belirli sütunlara bir işlev uygulama

R’de aşağıdaki veri çerçevesine sahip olduğumuzu varsayalım:

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 points=c(19, 22, 15, NA, 14, 25, 25, 25),
                 rebounds=c(10, 6, 3, 7, 11, 13, 9, 12),
                 assists=c(4, 4, 3, 6, 7, 5, 10, 8))

#view data frame
df

  team points rebound assists
1 A 19 10 4
2 A 22 6 4
3 to 15 3 3
4 A NA 7 6
5 B 14 11 7
6 B 25 13 5
7 B 25 9 10
8 B 25 12 8

Şimdi değerleri 2 ile çarpıp ardından 1 ekleyen aşağıdaki fonksiyonu tanımladığımızı varsayalım:

 #define function
my_function <- function (x) x*2 + 1

Bu işlevi yalnızca veri çerçevesindeki noktalara ve sıçrama sütunlarına uygulamak için aşağıdaki lapply() işlevini kullanabiliriz:

 #apply function to specific columns
df[c(' points ', ' rebounds ')] <- lapply(df[c(' points ', ' rebounds ')], my_function)

#view updated data frame
df

  team points rebound assists
1 A 39 21 4
2 A 45 13 4
3 A 31 7 3
4 A NA 15 6
5 B 29 23 7
6 B 51 27 5
7 B 51 19 10
8 B 51 25 8

Sonuçta sayı ve ribaund sütunlarındaki her değeri 2 ile çarptığımızı ve ardından 1 eklediğimizi görebiliriz.

Ayrıca takımlar ve asist sütunlarının değişmediğini unutmayın.

Ek kaynaklar

Aşağıdaki eğitimlerde R’de diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:

R’de application(), lapply(), sapply() ve tapply() için bir kılavuz
R’de dönüştürme işlevi nasıl kullanılır?

Yorum ekle

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