Dplyr'de değişken adı olarak bir dize nasıl iletilir


Bir dizeyi dplyr’de değişken adı olarak iletmek için aşağıdaki yöntemlerden birini kullanabilirsiniz:

Yöntem 1: get()’ı kullanın

 df %>% filter(get(my_var) == ' A ')

Yöntem 2: .data’yı kullanın

 df %>% filter(. data [[my_var]] == ' A ')

Aşağıdaki örnekler, her yöntemin pratikte aşağıdaki veri çerçevesiyle nasıl kullanılacağını gösterir:

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'B', 'B'),
                 points=c(99, 90, 86, 88, 95),
                 assists=c(33, 28, 31, 39, 34),
                 rebounds=c(30, 28, 24, 24, 28))

#view data frame
df

  team points assists rebounds
1 A 99 33 30
2 A 90 28 28
3 A 86 31 24
4 B 88 39 24
5 B 95 34 28

Örnek 1: get() kullanarak dplyr’de değişken adı olarak bir dize iletin

Dplyr’deki filter() işlevine değişken adı olarak bir dize ileterek bir veri çerçevesini filtrelemeye çalışırsak, boş bir veri çerçevesi elde ederiz:

 library (dplyr)

#define variable
my_var <- ' team '

#attempt to filter for rows where team is equal to a variable
df %>% filter(my_var == ' A ')

[1] team points assists rebounds
<0 rows> (or 0-length row.names)

Bunu aşmanın bir yolu değişken adını get() fonksiyonuna sarmaktır:

 library (dplyr)

#define variable
my_var <- ' team '

#filter for rows where team is equal to a variable
df %>% filter(get(my_var) == ' A ')

  team points assists rebounds
1 A 99 33 30
2 A 90 28 28
3 A 86 31 24

Filter () işlevindeki get() işlevini kullanarak, veri çerçevesinin satırlarını yalnızca takımın A’ya eşit olduğu satırlar için başarıyla filtreleyebiliriz.

Örnek 2: .data kullanarak dplyr’de değişken adı olarak bir dize iletin

Bir dizeyi dplyr’deki filter() işlevine değişken adı olarak aktarmanın başka bir yolu da .data işlevini şu şekilde kullanmaktır:

 library (dplyr)

#define variable
my_var <- ' team '

#filter for rows where team is equal to a variable
df %>% filter(. data [[my_var]] == ' A ')

  team points assists rebounds
1 A 99 33 30
2 A 90 28 28
3 A 86 31 24

Filter() fonksiyonundaki .data fonksiyonunu kullanarak, veri çerçevesindeki satırları yalnızca takımın A’ya eşit olduğu satırlar için başarıyla filtreleyebiliyoruz.

Ek kaynaklar

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

Dplyr kullanarak gruba göre ilk satır nasıl seçilir
Dplyr kullanarak birden çok koşula göre filtreleme nasıl yapılır
Belirli bir dizeyi içeren satırları dplyr kullanarak nasıl filtreleyebilirim?

Yorum ekle

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