Ana içeriğe atla

R'de Veri Nasıl Sıralanır: Kapsamlı Bir Eğitim

order(), sort() ve dplyr'ın arrange() fonksiyonlarını kullanarak R'de vektörleri, veri çerçevelerini ve daha fazlasını pratik örneklerle nasıl sıralayacağınızı öğrenin.
Güncel 3 Eki 2026  · 6 dk. oku

Yapay Zeka ile Keşfedin

ChatGPTClaudePerplexity

R, verileri artan veya azalan düzende sıralamak için farklı yollar sunar; veri analistleri ve veri bilimcileri elde edilen verinin yapısına bağlı olarak verileri sıralamak için order(), sort() ve dplyr gibi paketler kullanır.

Özet

  • Bir vektörü doğrudan sıralayıp sıralı değerleri döndürmek için sort() kullanın
  • Bir vektörü sıralayacak indisleri elde etmek için order() kullanın — veri çerçevelerini sıralamak için idealdir
  • Veri çerçevelerini modern ve okunabilir biçimde sıralamak için dplyr::arrange() kullanın
  • na.last parametresiyle NA değerlerini yönetin (TRUE NA'leri sona, FALSE başa koyar)
  • Azalan sırada sıralamak için decreasing = TRUE veya eksi işareti kullanın

order() vektör, matris sıralayabilir; ayrıca bir veri çerçevesi de onun yardımıyla artan ve azalan düzende sıralanabilir; bunun gösterimi bu eğitimin son bölümünde yer almaktadır.

Syntax of order()

The sort() function

order()'a geçmeden önce, daha basit olan sort() fonksiyonuna bakalım. order() indis döndürürken, sort() doğrudan sıralı değerleri döndürür:

# Create a vector
values <- c(4, 12, 6, 7, 2, 9, 5)

# sort() returns the sorted values directly
sort(values)
[1]  2  4  5  6  7  9 12

Temel fark, sort()'un size gerçek sıralı değerleri, order()'ın ise konumları vermesidir. Bu nedenle, ileride göreceğimiz gibi, order() veri çerçevelerini sıralamak için daha kullanışlıdır.

Syntax of order()

order()'ın söz dizimi aşağıda gösterilmiştir:

order(x, decreasing = TRUE or FALSE, na.last = TRUE or FALSE, method = c("auto", "shell", "quick", "radix"))

order() içindeki yukarıdaki argümanlar şunları ifade eder:

  • x: data frame'ler, matrisler veya vektörler
  • decreasing: boolean değer; TRUE ise azalan, FALSE ise artan düzende sıralar.
  • na.last: boolean değer; TRUE ise NA indisleri en sona, FALSE ise en başa yerleştirilir.
  • method: kullanılacak sıralama yöntemi.

order() in R

Şimdi order()'ın kullanımına bir örnek bakalım.

Aşağıdaki kod, bir sayı listesini içeren y adlı bir vektör oluşturur. Bu sayıların nasıl sıralanacağını veren indisleri elde etmek için order(y) kullanacağım.

y <- c(4, 12, 6, 7, 2, 9, 5)
order(y)

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

5 1 7 3 4 6 2

Burada order(), verilen sayıları artan düzende indislerine göre sıralar. En küçük sayı 2 olduğundan indisi beştir ve sayı 4'ün indisi 1'dir; benzer şekilde süreç aynı desenle ilerler.

y <- c(4, 12, 6, 7, 2, 9, 5)
y[order(y)]

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

2 4 5 6 7 9 12

Burada sıralama indisleri kullanılarak gerçek değerler artan düzende yazdırılmıştır. Değerler önce order() ile indise göre sıralanır, ardından her değer y[some-value] kullanılarak erişilir.

order() içinde farklı parametreler kullanarak vektör sıralama

Değer setlerinde NA (Not available) simgesinin bulunduğu bir örneğe bakalım.

order(x,na.last=TRUE)

x <- c(8, 2, 4, 1, -4, NA, 46, 8, 9, 5, 3)
order(x, na.last = TRUE)

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

5 4 2 11 3 10 1 8 9 7 6

Burada order() verilen sayı listesini artan düzende indislerine göre sıralar. NA bulunduğundan, 6 indisi na.last=TRUE nedeniyle en sona yerleştirilir.

order(x,na.last=FALSE)

order(x, na.last = FALSE)

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

6 5 4 2 11 3 10 1 8 9 7

Burada order() verilen sayı listesini yine artan düzende indislerine göre sıralar. NA bulunduğundan, 6 olan indisi na.last=FALSE nedeniyle en başa yerleştirilir.

order(x,decreasing=TRUE,na.last=TRUE)

order(x, decreasing = TRUE, na.last = TRUE)

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

7 9 1 8 10 3 11 2 4 5 6

Burada order(), decreasing=TRUE nedeniyle verilen sayı listesini azalan düzende indislerine göre sıralar: 46 en büyük olduğundan 7. indistedir ve diğer değerler azalan şekilde yerleştirilir. NA bulunduğundan 6 indisi na.last=TRUE nedeniyle en sona yerleştirilir.

order(x,decreasing=FALSE,na.last=FALSE)

order(x, decreasing = FALSE, na.last = FALSE)

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

6 5 4 2 11 3 10 1 8 9 7

Burada NA mevcuttur ve indisi 6 olduğundan na.last=FALSE nedeniyle en başa yerleştirilir. order(), decreasing=FALSE nedeniyle verilen sayı listesini artan düzende indislerine göre sıralar: en küçük olan -4, 5. indistedir ve diğer değerler artan şekilde düzenlenir.

R'yi Ücretsiz Öğrenmeye Başlayın

R’ye Giriş

BasicSkill Level
{hours} sa
3.1M learners
Vektörler, listeler ve veri çerçeveleri de dahil olmak üzere R'da veri analizinin temellerini öğrenin ve gerçek veri setleriyle R pratiği yapın.
See DetailsRight Arrow
Start Course

order() kullanarak bir veri çerçevesini sıralama

Nüfus değerinin 10 olduğu bir veri çerçevesi oluşturalım. Cinsiyet değişkeni, sample() yardımıyla 10 örnek değer üretilebilen 'male' ve 'female' vektör değerlerinden oluşur; replace = TRUE ise yalnızca benzersiz değerler üretecektir. Benzer şekilde, yaş 25 ile 75 arasındaki değerlerden ve olası dereceler c("MA," "ME," "BE," "BSCS") olacak şekilde oluşturulur; bu da yine benzersiz değerler üretecektir.

Görev: Verilen verileri, verilen nüfusun yaşına göre artan düzende sıralamak.

Not: Gösterilen örnek veriler, kodu yerel makinenizde çalıştırdığınızda farklılık gösterebilir; çünkü her çalıştırmada benzersiz bir veri çerçevesi oluşturulur.

population <- 10
gender <- sample(c("male", "female"), population, replace = TRUE)
age <- sample(25:75, population, replace = TRUE)
degree <- sample(c("MA", "ME", "BE", "BSCS"), population, replace = TRUE)
final_data <- data.frame(gender = gender, age = age, degree = degree)
final_data
gender age degree
male 40 MA
female 57 BSCS
male 66 BE
female 61 BSCS
female 48 MA
male 25 MA
female 49 BE
male 52 ME
female 57 MA
female 35 MA

Yukarıdaki kod, yeni oluşturulan bir veri çerçevesini gösteren aşağıdaki çıktıyı verir.

  gender       age        degree
   male           40         MA
   female       57         BSCS
   male           66         BE
   female       61         BSCS
   female       48        MA
   male           25         MA
   female       49         BE
   male        52        ME
   female       57         MA
   female       35         MA

Veri çerçevesini, yaş değişkenine göre order() kullanarak artan düzende sıralayalım.

order(final_data$age)

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

6 10 3 9 5 8 4 2 7 1

Yaş 25, 6. indistedir; onu 35 yaşıyla 10. indis izler ve benzer şekilde tüm yaş değerleri artan düzende sıralanır.

Aşağıdaki kodda, yaş değişkeniyle birlikte [] sıralaması kullanılır; böylece cinsiyet ve derece bilgileri de yazdırılarak artan düzende düzenleme yapılır.

final.data[order(final.data$age),]
  gender age degree
6 male 25 MA
10 female 35 MA
1 male 40 MA
5 female 48 MA
7 female 49 BE
8 male 52 ME
2 female 57 BSCS
9 female 57 MA
4 female 61 BSCS
3 male 66 BE

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

gender    age    degree
6    male    25    MA
10    female    35    MA
1    male    40    MA
5    female    48    MA
7    female    49    BE
8    male    52    ME
2    female    57    BSCS
9    female    57    MA
4    female    61    BSCS
3    male    66    BE

Yukarıdaki çıktı, yaşın ilgili cinsiyet ve derece bilgileriyle birlikte artan düzende sıralandığını gösterir.

dplyr'ın arrange() Fonksiyonu ile Sıralama

Daha okunabilir ve modern bir yaklaşım için, dplyr paketindeki arrange() fonksiyonunu kullanabilirsiniz. Bu, özellikle tidyverse ekosistemiyle çalışırken faydalıdır:

# Install dplyr if needed: install.packages("dplyr")
library(dplyr)

# Sort by age in ascending order
final_data %>% arrange(age)

# Sort by age in descending order
final_data %>% arrange(desc(age))

# Sort by multiple columns
final_data %>% arrange(gender, desc(age))

arrange() fonksiyonu, pipe operatörünü kullanarak filter(), select() ve mutate() gibi diğer dplyr fonksiyonlarıyla sorunsuz entegre olduğu için veri analizi iş akışlarında sıklıkla tercih edilir.

Sıralama Yöntemlerinin Karşılaştırması

Function Returns Best For Package
sort() Sıralı değerler Vektörler Base R
order() İndisler Veri çerçeveleri, karmaşık sıralamalar Base R
arrange() Sıralanmış veri çerçevesi Tidyverse iş akışları dplyr
setorder() Yerinde değiştirir Büyük veri kümeleri (bellek verimli) data.table

Sonuç

Bu eğitimde, R'de verileri sıralamanın temel yöntemlerini ele aldım:

  • Vektörleri doğrudan sıralamak için sort()
  • Vektörleri ve veri çerçevelerini sıralamak için indis elde etmeye yarayan order()
  • na.last parametresiyle NA değerlerinin yönetimi
  • Modern ve okunabilir veri çerçevesi sıralaması için dplyr::arrange()
  • Karmaşık sıralama gereksinimleri için çok sütunlu sıralama

Daha fazla bilgi için order() için resmi R dokümantasyonuna bakın.

R hakkında daha fazla bilgi edinmek isterseniz DataCamp'in Introduction to R kursunu alın. Yüksek performanslı veri işleme için data.table eğitimimizi inceleyebilir veya daha temiz kod için R'de pipe rehberimize göz atabilirsiniz.

Konular
R
Veri Analizi

R Kursları

{count, plural, one {Kurs} other {Kurs}}

R’ye Giriş

{hours} sa
3.1M
Vektörler, listeler ve veri çerçeveleri de dahil olmak üzere R'da veri analizinin temellerini öğrenin ve gerçek veri setleriyle R pratiği yapın.
Ayrıntıları GörüntüleRight Arrow
Kursa Başla
Devamını GörRight Arrow
İlgili

{count, plural, one {blog} other {blog}}

Hızlı Sevkiyat İçin Pratik Vibe Kodlama Teknoloji Yığını

Ön uç, arka uç, veritabanları, kimlik doğrulama, depolama, e-posta, test, dağıtım ve izleme için en iyi araçları keşfedin.
Abid Ali Awan's photo

Abid Ali Awan

14 dk.

{count, plural, one {blog} other {blog}}

2026’da En Popüler 40 Yazılım Mühendisi Mülakat Sorusu

Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Dario Radečić's photo

Dario Radečić

15 dk.

{count, plural, one {Eğitim} other {Eğitim}}

Python'da Listeyi String'e Nasıl Dönüştürürsünüz

Bu hızlı eğitimde, Python'da bir listeyi string'e nasıl dönüştüreceğinizi öğrenin.
Adel Nehme's photo

Adel Nehme

{count, plural, one {Eğitim} other {Eğitim}}

.gitignore Nasıl Kullanılır: Örneklerle Pratik Bir Giriş

Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
Kurtis Pykes 's photo

Kurtis Pykes

8 dk.

Devamını GörDevamını Gör