Ana içeriğe geç

R'de String'ler Eğitimi

R'deki string'leri öğrenin: kuralları, birleştirme, string'in temel özellikleri, bir karakter dizisini çıkarma ve değiştirme ile bir string'i biçimlendirme.
· 8 dk. oku

Yapay Zeka ile Keşfedin

String, tek bir karakterden oluşabilen ya da karakterlerden oluşan bir koleksiyonu içeren bir karakter dizisidir. Tek tırnaklar ('Bu bir stringdir') ya da çift tırnaklar ("Bu da bir stringdir") içine alınır. Ancak R'nin dahili gösteriminde string'ler çift tırnak içinde temsil edilir.

Bu eğitimde R'deki string'leri öğrenecek ve aşağıdaki konuları ele alacağız.

  1. Önce R'de String'lere ve R'de String Kurallarına bakacaksınız.
  2. Ardından, R'de String Birleştirme (Concatenation) ile string'in diğer temel özelliklerine dalacaksınız.
  3. Ayrıca, Bir Karakter Dizisini Çıkarma ve Değiştirme ayrıntılı olarak açıklanmıştır.
  4. Son olarak, herhangi bir vektör girdisinin iyi biçimlendirilmiş formata dönüştürülebileceği String Biçimlendirme.

R'de String Kuralları

    1. Tek tırnakla başlayan string tek tırnakla bitmelidir. Ancak çift tırnak koyabilirsiniz ve Kaçış Dizisi ('\') sayesinde tek tırnak da string'in bir parçası olabilir.

Örneğin: 'cars', 'merry"s' , 'merry\'s' R'de geçerli string'lerdir.

    1. Çift tırnakla başlayan string çift tırnakla bitmelidir. Ancak tek tırnak koyabilirsiniz ve Kaçış Dizisi ('\') sayesinde çift tırnak da string'in bir parçası olabilir.

Örneğin: "cars" , "merry's", "merry\"s" de R'de geçerli string'lerdir.

String Birleştirme (Concatenation)

String birleştirme, string'leri birleştirme veya kaynaştırma işlemidir.

R'de string birleştirmenin sözdizimi şöyledir:
paste(..., sep = "",collapse = NULL)
paste0(..., collapse = NULL)

Yukarıdaki paste içindeki argümanlar şunları ifade eder:

  1. '...'- Bir veya daha fazla karakter ya da karakter vektörlerine dönüştürülen nesneleri belirtir.
  2. 'sep'- Ayırma karakterini belirtir
  3. 'collapse'- İsteğe bağlı bir ayırma karakterini belirtir.

Örneğin, aşağıdaki örnekte değişkenlerin karakter dizileri içerdiğini varsayalım: my.var1 = "I" my.var2 = "eat" my.var3 = "rice" print(paste(my.var1,my.var2,my.var3))

Yukarıdaki kod aşağıdaki gibi tek bir string verir:

"I eat rice"

Örneğin, aşağıdaki örnekte değişkenlerin bir vektörü tek bir string'e dönüştürdüğünü varsayalım:

my.var1 = c('Book','Copy') my.var2 = c('Pen','Chair') print(paste(my.var1,my.var2,sep=" ",collapse="-"))

Yukarıdaki kod aşağıdaki çıktıyı verir:

"Book Pen-Copy Chair"

Burada, çıktı iki farklı vektör arasındaki ayrımı sağlayan collapse kullanımı nedeniyle Pen ve Copy arasında bir '-' içerir. Buna karşılık, sep bir boşluk (' ') içerir ve tek tek öğeler bununla ayrılır.

paste0() içeren örneği ele alalım

paste0(), sep ='', yani boşluksuz olarak argüman alır ve verimliliği için kullanılır.

state.name <- paste0('Mary','l','and')
print(state.name)

Yukarıdaki kodun çıktısı aşağıdadır; tüm karakterler tek bir ifadede birleştirilmiştir ve sep aracılığıyla ayrı bir boşluk yoktur.

"Maryland"

Uzunluk Bulma

nchar(char,type, allowNA,keepNA) - Verilen bir vektördeki toplam karakter sayısını bulur.
nzchar(char)- x boş değilse TRUE, herhangi bir string içermezse FALSE döndürür.

Yukarıdaki argümanlar şunları ifade eder:

  1. char- Bir karakter vektörünü belirtir.
  2. type- Üç türden birini belirtir: "width","chars","bytes".
  3. allowNA- Mantıksal varsayılan değeri FALSE'tur ve sonuç hesaplanamazsa hata yerine NA döner.
  4. keepNA- Mantıksal varsayılan değeri FALSE'tur; burada eksik değer 2'ye eşlenir ve nzchar() TRUE verir, ancak eksik değerler durumunda her ikisi de TRUE'ya eşlenecektir.

Aşağıdaki örnekte bir karakter vektörünün uzunluğunu belirlemek için: my.char = nchar("hello") print(my.char)

Yukarıdaki örnek, vektörde beş karakter bulunduğu için çıktı olarak '5' döndürür.

nzchar() kullanımına ilişkin örnek için aşağıdaki koda bakalım:

new.char = nzchar("monkey") print(new.char)

Yukarıdaki kod, 'new.char' boş bir string olmadığı için mantıksal değer olarak 'TRUE' verir.

my.char = nzchar("") print(my.char)

Yukarıdaki kod, 'my.char' boş bir string olduğu için mantıksal değer olarak 'FALSE' verir.

Büyük/Küçük Harfe Dönüştürme

toupper(char) - Tüm karakterleri büyük harfe dönüştürür.
tolower(char) - Tüm karakterleri küçük harfe dönüştürür.

Büyük harfe dönüştürme örneğine bakalım. my.var = toupper("I'm changed to upper case") print(my.var)

Yukarıdaki kod, 'my.var' değişkeninde yer alan her karakterin büyük harfe dönüştüğü aşağıdaki çıktıyı verir.

"I'M CHANGED TO UPPER CASE"

Küçük harfe dönüştürme örneğine bakalım. my.var = tolower("I'm changed to lower case") print(my.var)

Yukarıdaki kod, 'my.var' değişkeninde yer alan her karakterin küçük harfe dönüştüğü aşağıdaki çıktıyı verir.

""i'm changed to lower case""

Bir Karakter Dizisini Çıkarma ve Değiştirme

substr(char, start, stop): Bir karakter dizisini çıkarma ve değiştirme.

Yukarıdaki argümanlar şunları ifade eder:

  1. char- Bir karakter dizisini belirtir.
  2. start - Döndürülecek karşılık gelen başlangıç değerini belirten bir tam sayı.
  3. stop - Döndürülecek karşılık gelen bitiş değerini belirten bir tam sayı.

Karakterlerin çıkarıldığı başka bir örneğe bakalım.

final.value <- substring('Remaining', 3, 9)
print(final.value)

Yukarıdaki kodda, 'Remaining' bir string'dir; ilk indeks 'R' olup 1 tam sayısı ile indekslenir. Son karakter g'dir ve indeksi 9 tam sayısıdır.

Yukarıdaki kod, başlangıç değeri 3 tam sayısı olan ve 'Remaining' içinde karşılık gelen karakteri ' m ' olan çıktıyı gösterir. Benzer şekilde, 9 tam sayısına kadar olan diğer karakterler, karşılık gelen 'g' karakteri dahil olmak üzere yazdırılır.

"maining"

Karakterlerin değiştirildiği başka bir örneğe bakalım.

y = "Remaining"
substring(y, 3, 5) <- "der"
print(y)

Yukarıdaki kod, y içindeki 3'ten 5'e kadar olan başlangıç tam sayı değerlerinin karşılık gelen karakter değerlerinin 'der' ile değiştirildiği çıktıyı gösterir.

"Rederning"

substring(char, first, last = 1000000L): Bir karakter dizisini çıkarma veya değiştirme.
Yukarıdaki argümanlar şunları ifade eder:

  1. char- Bir karakter dizisini belirtir.
  2. first - Döndürülecek karşılık gelen ilk değeri belirten bir tam sayı.
  3. last - Döndürülecek karşılık gelen son değeri belirten ve varsayılanı 1000000L olan bir tam sayı.
my.value <- substring('Remaining', 3, 8)
print(my.value)

Yukarıdaki kod, başlangıç değeri 3 tam sayısı olan ve 'Remaining' içinde karşılık gelen karakteri ' m ' olan çıktıyı gösterir. Benzer şekilde, 8 tam sayısına kadar olan diğer karakterler, karşılık gelen 'n' karakteri dahil olmak üzere yazdırılır.

"mainin"

Karakterlerin değiştirildiği başka bir örneğe bakalım.

y = "newcharacter"
substring(y, 6,9) <- "???"
print(y)

Yukarıdaki kod, y içindeki 6'dan 9'a kadar olan başlangıç tam sayı değerlerinin karşılık gelen karakter değerlerinin '???' ile değiştirildiği çıktıyı gösterir.

"newch???cter"

String Biçimlendirme

format(char,width,scientific,justify,nsmall,digits): Bir tamsayı ve karakter vektörünü yaygın olarak kullanılan bir formata dönüştürür.

Yukarıdaki argümanlar şunları ifade eder:

  1. char - Tamsayılar veya karakterlerden oluşan bir vektör olabilir.
  2. width - Üretilen string'in asgari genişliğini belirtir.
  3. scientific - Varsayılanı FALSE'tur ancak bilimsel gösterim için TRUE kullanılır.
  4. justify - Varsayılanı none'dur ancak string'leri "right", "left" ve "center" olarak hizalayabilir.
  5. nsmall - Ondalık basamaktan sonra yer alacak toplam sayıyı belirtir
  6. digits - Ondalık basamaktan önce ve sonra toplam basamak sayısını belirtir.

Bilimsel gösterim için string biçimlendirme örneği verelim.

my.var <- format(c(2, 19.267), scientific = TRUE)
print(my.var)

Yukarıdaki kod, bilimsel ya da üstel gösterimde ifade edilen çıktıyı gösterir

"2.0000e+00" "1.9267e+01"

"1.9267e+01" çıktısı = 1,9267 x 10 (1. kuvvet) = 1,9267x10 = 19,267.

nsmall kullanarak biçimlendirme örneği verelim.

my.var <- format(92.56656577, nsmall = 6)
print(my.var)

Yukarıdaki kod, ondalık basamaktan sonra 6 rakamın yer aldığı aşağıdaki çıktıyı verir.

"92.566565"

digits kullanarak biçimlendirme örneği verelim.

my.var <- format(102.848793834, digits = 7)
print(my.var)

Yukarıdaki kod, ondalık basamaktan önceki sayı ile ondalık basamaktan sonraki sayıya kadar dahil olmak üzere aşağıdaki çıktıyı verir.

"102.8488"

Çıktıda yedi basamak yer alır; son basamağın 7 olması gerekirken önceki sayı, yani 9, 7'den büyük olduğu için 8'e yuvarlanır. Kısacası, yuvarlama gerçekleşir.

Sağa hizalama kullanarak biçimlendirme örneği verelim.

my.var <- format('Running', justify = 'r',width = 9)
print(my.var)

Yukarıdaki kod, 'Running' karakterinin belirli bir genişlik boşluğu ile sağa hizalandığı aşağıdaki çıktıyı verir.

"  Running"

Hizalama karakterini ortada kullanarak biçimlendirme örneği verelim.

my.var <- format('Running', justify = 'c',width = 12)
print(my.var)

Yukarıdaki kod, 'Running' karakterinin sağ ve sol arasında belirli bir genişlik boşluğu ile ortaya hizalandığı aşağıdaki çıktıyı verir.

"  Running   "

Tebrikler

Tebrikler, bu eğitimin sonuna geldiniz!

R'deki String'leri öğrendiniz: kuralları, birleştirme, string'in temel özellikleri, Bir Karakter Dizisini Çıkarma ve Değiştirme ile bir string'i biçimlendirme.

R hakkında daha fazla bilgi edinmek isterseniz DataCamp'in Introduction to R kursunu alın.

R'de Veri Tipleri eğitimimize de göz atın.

Konular

İlgili