R Academy · Pelajaran

Mengisih Vektor dengan sort()

Isih vektor numerik dan aksara dalam tertib menaik atau menurun.

Pelajaran 1 daripada 413 langkah

Mengisih Vektor dengan sort() ialah pelajaran R Academy percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran R Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus R Academy merangkumi sejumlah 4 pelajaran.

Apakah Fungsi sort() Lakukan?

Fungsi sort() menyusun elemen vektor dalam tertib menaik secara lalai. Fungsi ini berfungsi pada vektor numeric, aksara dan logik, serta mengembalikan vektor baharu yang telah diisih tanpa mengubah vektor asal.

scores <- c(42, 7, 95, 13, 67, 31)
sorted_scores <- sort(scores)
print(sorted_scores)

Pengisihan dalam Tertib Menurun

Hantar decreasing = TRUE kepada sort() untuk membalikkan tertib. Ini berguna untuk menyusun keputusan daripada nilai tertinggi kepada terendah, seperti skor papan pendahulu atau angka jualan.

prices <- c(19.99, 5.49, 89.00, 34.50, 12.75)
sort(prices, decreasing = TRUE)

Mengisih Vektor Aksara

Vektor aksara diisih secara leksikografi (mengikut abjad). R menggunakan lokal sistem untuk menentukan tertib, jadi huruf besar mungkin diisih sebelum huruf kecil bergantung pada tetapan lokal.

fruits <- c('banana', 'Apple', 'cherry', 'apricot', 'Blueberry')
sort(fruits)

Tingkah Laku Pengisihan Peka Huruf

Dalam kebanyakan lokal, huruf besar diisih sebelum huruf kecil. Untuk mengisih tanpa membezakan huruf besar dan kecil, tukarkan semuanya kepada bentuk huruf yang sama terlebih dahulu menggunakan tolower() atau toupper() sebelum mengisih.

words <- c('Zebra', 'apple', 'Mango', 'banana')
# Case-sensitive (uppercase first)
sort(words)
# Case-insensitive approach
words[order(tolower(words))]

Mengendalikan Nilai NA dengan na.last

Secara lalai, sort() membuang nilai NA. Gunakan na.last = TRUE untuk meletakkan NA di hujung, atau na.last = FALSE untuk meletakkannya di awal. Ini mengawal kedudukan nilai yang hilang dalam hasil.

data <- c(5, NA, 2, NA, 8, 1)
# Default: NAs removed
sort(data)
# NAs at end
sort(data, na.last = TRUE)
# NAs at beginning
sort(data, na.last = FALSE)

Mengisih Vektor Logik

Vektor logik diisih dengan FALSE (0) sebelum TRUE (1) dalam tertib menaik. Ini berguna apabila anda mahu mengumpulkan nilai TRUE/FALSE bersama-sama.

flags <- c(TRUE, FALSE, TRUE, FALSE, FALSE, TRUE)
sort(flags)
sort(flags, decreasing = TRUE)

sort() Mengekalkan Jenis Vektor

sort() sentiasa mengembalikan vektor dengan jenis yang sama seperti input. Pengisihan integer mengembalikan integer, double mengembalikan double dan aksara mengembalikan aksara. Atribut kelas dikekalkan.

int_vec <- c(5L, 2L, 8L, 1L, 4L)
result <- sort(int_vec)
print(result)
print(class(result))
print(typeof(result))

sort.int() untuk Pengisihan Integer

sort.int() ialah fungsi aras rendah yang khusus untuk mengisih vektor integer atau double. Fungsi ini menerima argumen yang sama seperti sort() tetapi sedikit lebih pantas untuk vektor numeric yang besar kerana melangkau sebahagian overhed penghantaran kaedah.

big_vec <- c(100L, 3L, 77L, 22L, 55L, 9L)
# sort.int works like sort for numeric/integer vectors
result <- sort.int(big_vec, decreasing = FALSE)
print(result)

Vektor Asal Tidak Berubah

Sifat penting sort(): fungsi ini tidak mengubah vektor asal. Fungsi ini mengembalikan vektor baharu yang telah diisih. Anda mesti menetapkan hasilnya jika mahu mengekalkan tertib yang telah diisih.

temps <- c(22.5, 18.0, 30.1, 15.3, 27.8)
sorted_temps <- sort(temps)
cat('Original:', temps, '\n')
cat('Sorted:  ', sorted_temps, '\n')

Mengisih dan Mengindeks Bersama

Kadang-kadang anda memerlukan kedua-dua nilai yang telah diisih dan kedudukan asalnya. Gabungkan sort() dengan which() atau gunakan order() (yang dibincangkan dalam pelajaran seterusnya) untuk mendapatkan indeks asal bersama nilai yang telah diisih.

exam_scores <- c(78, 92, 65, 88, 71)
sorted <- sort(exam_scores)
cat('Sorted scores:', sorted, '\n')
# Find what rank each original score gets
ranks <- rank(exam_scores)
cat('Rank of each student:', ranks, '\n')

Corak Praktikal sort()

Corak biasa ialah mengisih nilai unik daripada vektor, atau mendapatkan nilai terbesar teratas-N menggunakan sort() yang digabungkan dengan head() atau tail().

sales <- c(120, 340, 95, 210, 340, 180, 95, 420)
# Unique values in order
sort(unique(sales))
# Top 3 largest
tail(sort(sales), 3)
# Bottom 3 smallest
head(sort(sales), 3)

Semakan Ringkas

Argumen manakah yang mengawal sama ada nilai NA muncul di awal, di hujung atau dibuang apabila menggunakan sort()?

Perkara Penting tentang sort()

Perkara penting tentang sort():

  • Gunakan sort(x) untuk tertib menaik dan sort(x, decreasing=TRUE) untuk tertib menurun
  • Vektor aksara diisih mengikut abjad; huruf besar dan kecil dibezakan secara lalai
  • Kawal kedudukan NA dengan na.last = TRUE/FALSE/NA
  • sort() tidak mengubah vektor asal — fungsi ini sentiasa mengembalikan vektor baharu
  • Gunakan tail(sort(x), n) atau head(sort(x), n) untuk mendapatkan nilai teratas-N atau terbawah-N
  • sort.int() ialah varian yang lebih pantas untuk vektor numeric/integer
x <- c(3, 1, NA, 5, 2, NA, 4)
cat('Ascending (no NAs):', sort(x), '\n')
cat('Descending (NAs last):', sort(x, decreasing = TRUE, na.last = TRUE), '\n')
Percuma untuk bermula

Pelajari R dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
43
Pelajaran
159

Soalan Lazim

Adakah pelajaran “Mengisih Vektor dengan sort()” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran R Academy, termasuk “Mengisih Vektor dengan sort()”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus R Academy merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Mengisih Vektor dengan sort()”?

Isih vektor numerik dan aksara dalam tertib menaik atau menurun. Anda berlatih R Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan R Academy?

Tiada pengalaman terdahulu diperlukan. Pembelajaran R Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 1 daripada 4.

Berapa lamakah pelajaran “Mengisih Vektor dengan sort()” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran R Academy ini?

Ya. Setiap pelajaran R Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Mengisih Vektor dengan sort()
  2. order() untuk Susunan Fleksibel
  3. Menentukan Kedudukan Nilai dengan rank()
  4. Mengisih Bingkai Data mengikut Lajur
← Kembali ke R Academy