R'de bir data.table nasıl filtrelenir (örneklerle)
R’deki bir data.table’daki satırları filtrelemek için aşağıdaki yöntemleri kullanabilirsiniz:
Yöntem 1: Satırları tek bir koşula göre filtreleme
dt[col1 == ' A ', ]
Yöntem 2: Listede değer içeren satırları filtreleyin
dt[col1 %in% c(' A ', ' C '), ]
Yöntem 3: Çeşitli koşullardan birinin karşılandığı satırları filtreleyin
dt[col1 == ' A ' | col2 < 10 , ]
Yöntem 4: Birden çok koşulun karşılandığı satırları filtreleyin
dt[col1 == ' A ' & col2 < 10 , ]
Aşağıdaki örnekler, R’deki aşağıdaki data.table ile her yöntemin pratikte nasıl kullanılacağını gösterir:
library (data.table)
#create data table
dt <- data. table (team=c('A', 'A', 'A', 'B', 'C'),
points=c(99, 90, 86, 88, 95),
assists=c(33, 28, 31, 39, 34),
rebounds=c(30, 28, 24, 24, 28))
#view data table
dt
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: C 95 34 28
Örnek 1: Satırları bir koşula göre filtreleme
Aşağıdaki kod, yalnızca ekip sütunundaki değeri “A”ya eşit olan satırların nasıl filtreleneceğini gösterir:
#filter for rows where team is A dt[team == ' A ', ] team points assists rebounds 1: A 99 33 30 2: A 90 28 28 3: A 86 31 24
Örnek 2: Listede değer içeren satırları filtreleme
Aşağıdaki kod, yalnızca ekip sütunundaki değeri “A” veya “C”ye eşit olan satırların nasıl filtreleneceğini gösterir:
#filter for rows where team is A or C dt[team %in% c(' A ', ' C '), ] team points assists rebounds 1: A 99 33 30 2: A 90 28 28 3: A 86 31 24 4: C 95 34 28
İlgili: R’de %in% Operatörü Nasıl Kullanılır (Örneklerle)
Örnek 3: Çeşitli koşullardan birinin karşılandığı satırları filtreleyin
Aşağıdaki kod, yalnızca takım sütunundaki değeri “A”ya eşit olan veya puan sütunundaki değer 90’dan küçük olan satırların nasıl filtreleneceğini gösterir:
#filter for rows where team is A or points < 90 dt[team == ' A ' | points < 90 , ] team points assists rebounds 1: A 99 33 30 2: A 90 28 28 3: A 86 31 24 4: B 88 39 24
Not : | Operatör R’de “OR” anlamına gelir.
Örnek 4: Birden fazla koşulun karşılandığı satırları filtreleyin
Aşağıdaki kod, yalnızca takım sütunundaki değerin “A”ya eşit olduğu ve puan sütunundaki değerin 90’dan küçük olduğu satırların nasıl filtreleneceğini gösterir:
#filter for rows where team is A and points < 90 dt[team == ' A ' & points < 90 , ] team points assists rebounds 1: A 86 31 24
Not : & operatörü R’de “AND” anlamına gelir.
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 bir vektör nasıl filtrelenir
R’de sıfırlı satırlar nasıl silinir
R’deki veri çerçevesinden boş satırlar nasıl kaldırılır