Dize öğelerini bölmek için r'de strsplit() işlevi nasıl kullanılır?
R’deki strsplit() işlevi bir dizeyi birden çok parçaya bölmek için kullanılabilir. Bu işlev aşağıdaki sözdizimini kullanır:
strsplit(dize, desen)
Altın:
- dize: karakter vektörü
- desen: bölünecek desen
Aşağıdaki örnekler bu fonksiyonun pratikte nasıl kullanılacağını göstermektedir.
Örnek 1: Bir Dizeyi Boşluklara Göre Bölme
Aşağıdaki kod, bir dizeyi boşluklara göre bölmek için strsplit() işlevinin nasıl kullanılacağını gösterir:
#split string based on spaces
split_up <- strsplit(" Hey there people ", split="")
#view results
split_up
[[1]]
[1] “Hey” “there” “people”
#view class of split_up
class(split_up)
[1] "list"
Sonuç, orijinal dizedeki boşluklara göre bölünmüş üç öğenin bir listesidir.
Bunun yerine sonuç olarak bir vektör üretmek istiyorsak unlist() fonksiyonunu kullanabiliriz:
#split string based on spaces
split_up <- unlist(strsplit(" Hey there people ", split=" "))
#view results
split_up
[1] “Hey” “there” “people”
#view class of split_up
class(split_up)
[1] “character”
Sonucun bir karakter vektörü olduğunu görebiliriz.
Örnek 2: Özel sınırlayıcıya göre dize bölünmesi
Bir dizeyi kısa çizgi gibi özel bir sınırlayıcıya göre bölmek için stplit() işlevini de kullanabiliriz:
#split string based on dashes
strsplit(" Hey-there-people ", split=" - ")
[[1]]
[1] “Hey” “there” “people”
Sonuç, orijinal dizedeki tirelere göre bölünmüş üç öğeden oluşan bir listedir.
Örnek 3: Bir dizeyi birden çok sınırlayıcıya göre bölme
Bir dizeyi birkaç farklı sınırlayıcıya göre bölmek için strplit() işlevinin split argümanında köşeli parantezleri de kullanabiliriz:
#split string based on several delimiters
strsplit(" Hey&there-you/people ", split=" [&-/] ")
[[1]]
[1] “Hey” “there” “you” “people”
Sonuç, orijinal dizede aşağıdaki sınırlayıcılardan biri mevcut olduğunda bölünen öğelerin bir listesidir:
- Ve işareti ( & )
- Çizgi ( – )
- Eğik çizgi ( / )
Ek kaynaklar
Aşağıdaki eğitimlerde R’de dizelerle diğer yaygın işlemlerin nasıl gerçekleştirileceği açıklanmaktadır:
R’de str_replace nasıl kullanılır?
R’de kısmi dize eşleştirmesi nasıl gerçekleştirilir?
Dizeleri R’deki tarihlere dönüştürme
R’de karakter sayısala nasıl dönüştürülür