R vektöründe, duruma göre karakter vektörlerini sıralamak için yerleşik bir işlevsellik var mı?Karakter dizilerini sıralarken durumları göz ardı etmeyin
CAPS <- grep("^[A-Z]", tv)
c(sort(tv[CAPS]), sort(tv[-CAPS]))
## [1] "A" "B" "a" "ab"
R vektöründe, duruma göre karakter vektörlerini sıralamak için yerleşik bir işlevsellik var mı?Karakter dizilerini sıralarken durumları göz ardı etmeyin
CAPS <- grep("^[A-Z]", tv)
c(sort(tv[CAPS]), sort(tv[-CAPS]))
## [1] "A" "B" "a" "ab"
post about Auto-completion in Notepad++ ardından yerel ayarları değiştirebilir:
tv <- c("a", "A", "ab", "B")
sort(tv)
## [1] "a" "A" "ab" "B"
Bu benim defa çözümdür:
Sys.setlocale(, "C")
sort(tv)
# [1] "A" "B" "a" "ab"
DÜZENLEMEYİ sort
ve order
davayı görmezden. Ben Sys.setlocale
için yardım sayfalarını okuyun ve LC_COLLATE
değişen yeterli olduğunu görünüyor: Eğer birden fazla kez kullanıyorsanız Sys.setlocale("LC_COLLATE", "C")
Bir fonksiyonun içine sarabilirdiniz: Ben tam tersi sorun vardı
sortC <- function(...) {
a <- Sys.getlocale("LC_COLLATE")
on.exit(Sys.setlocale("LC_COLLATE", a))
Sys.setlocale("LC_COLLATE", "C")
sort(...)
}
, yani benim LC_COLLATE varsayılanı "C" idi ve büyük/küçük harf duyarlı olmayan sıralamayı kullanmak istedim. Yüklenen yerelleri denemekten ve Sys.setlocale ("LC_COLLATE", "eu_ES.iso88591") işlevinin 3. satırı yerine daha iyi bir şey bulamadım. Eminim yanlış. Bunu yapmanın doğru yolu nedir? –
Daha iyi bir yöntem 'stringr :: str_sort' işlevini kullanmaktır ve tutarlı bir sonucu olacak şekilde yerel ayarı atayabilirsiniz. – dracodoc