Birden fazla şablonu değiştirmek için r'de gsub() nasıl kullanılır?
R’deki gsub() işlevi, R’deki bir dizedeki belirli bir modelin tüm oluşumlarını değiştirmek için kullanılabilir.
Birden fazla modeli aynı anda değiştirmek için iç içe gsub() ifadesini kullanabilirsiniz:
df$col1 <- gsub(' old1 ', ' new1 ', gsub(' old2 ', ' new2 ', gsub(' old3 ', ' new3 ', df$col1)))
Ancak çok daha hızlı bir yöntem, stringi paketindeki aşağıdaki sözdizimini kullanan stri_replace_all_regex() işlevidir:
library (stringi) df$col1 <- stri_replace_all_regex(df$col1, pattern=c(' old1 ', ' old2 ', ' old3 '), replacement=c(' new1 ', ' new2 ', ' new3 '), vectorize= FALSE )
Aşağıdaki örnekler her yöntemin pratikte nasıl kullanılacağını göstermektedir.
Yöntem 1: Birden fazla şablonu iç içe geçmiş gsub() ile değiştirin
R’de aşağıdaki veri çerçevesine sahip olduğumuzu varsayalım:
#create data frame
df <- data. frame (name=c('A', 'B', 'B', 'C', 'D', 'D'),
dots=c(24, 26, 28, 14, 19, 12))
#view data frame
df
name points
1 to 24
2 B 26
3 B 28
4 C 14
5 D 19
6 D 12
Ad sütunundaki birden çok modeli değiştirmek için iç içe gsub() ifadesini kullanabiliriz:
#replace multiple patterns in name column
df$name <- gsub(' A ', ' Andy ',
gsub(' B ', ' Bob ',
gsub(' C ', ' Chad ', df$name)))
#view updated data frame
df
name points
1Andy 24
2 Bob 26
3 Bob 28
4 Chad 14
5 D 19
6 D 12
Ad sütunundaki A, B ve C’nin tamamının yeni değerlerle değiştirildiğini unutmayın.
Yöntem 2: Birden çok modeli stringi ile değiştirin
Birden çok modeli değiştirmenin çok daha hızlı bir yolu, stringi paketindeki stri_replace_all_regex() işlevini kullanmaktır.
Aşağıdaki kod bu işlevin nasıl kullanılacağını gösterir:
library (stringi) #replace multiple patterns in name column df$name <- stri_replace_all_regex(df$name, pattern=c(' A ', ' B ', ' C '), replacement=c(' Andy ', ' Bob ', ' Chad '), vectorize= FALSE ) #view updated data frame df name points 1Andy 24 2 Bob 26 3 Bob 28 4 Chad 14 5 D 19 6 D 12
Ortaya çıkan veri çerçevesinin önceki örnektekiyle eşleştiğine dikkat edin.
Veri çerçeveniz orta derecede büyükse, bu işlevin gsub() işlevinden çok daha hızlı olduğunu fark edeceksiniz.
Ek kaynaklar
Aşağıdaki eğitimlerde R’de diğer yaygın işlemlerin nasıl gerçekleştirileceği açıklanmaktadır:
R’de replacement() işlevi nasıl kullanılır?
R veri çerçevesindeki değerler koşullu olarak nasıl değiştirilir?