فرز المتجهات
جزء من قسم المنطق وتدفق التنفيذ في رحلة R على Coddy. الدرس 37 من 64.
sort(x) تُرجع قيم x بترتيب تصاعدي، ويعكسها decreasing = TRUE. لا يتم تغيير المتجه الأصلي:
scores <- c(72, 95, 60, 88)
print(sort(scores))
print(sort(scores, decreasing = TRUE))
print(scores)المخرجات:
[1] 60 72 88 95
[1] 95 88 72 60
[1] 72 95 60 88يتم ترتيب النص أبجديًا. يعتمد الترتيب الدقيق على إعدادات لغة النظام: في Coddy، كما هو الحال في العديد من الخوادم، تسبق الأحرف الكبيرة الأحرف الصغيرة، لذا يتم ترتيب "Zed" قبل "ada". استخدم tolower() للتحويل عندما لا تكون حالة الأحرف مهمة:
names <- c("cy", "Zed", "ada")
print(sort(names))
print(sort(tolower(names)))المخرجات:
[1] "Zed" "ada" "cy"
[1] "ada" "cy" "zed"تعكس rev(x) الترتيب الحالي دون فرز، وتُبقي head(x, n) على العناصر n الأولى، وهو ما يمنحك، إلى جانب sort()، قائمة بأعلى القيم:
scores <- c(72, 95, 60, 88)
print(rev(scores))
print(head(sort(scores, decreasing = TRUE), 2))الناتج:
[1] 88 60 95 72
[1] 95 88يحتفظ المتجه المُسمّى والمرتّب بكل اسم مع قيمته، لذلك تظهر الأسماء بترتيب القيم:
stock <- c(tea = 12, jam = 3, oil = 7)
low_first <- sort(stock)
print(names(low_first))
print(low_first[["jam"]])الناتج:
[1] "jam" "oil" "tea"
[1] 3التحدي
سهلأكمل top_scores(scores, n). أعد أعلى n درجات من الأعلى إلى الأدنى، مع ربطها باستخدام , . إذا كان عدد الدرجات أقل من n، فأعدها جميعًا.
يقرأ الكود المُ supplied الدرجات كسطر مفصول بفواصل وn، ثم يطبع القيمة المُعادة.
جرّب بنفسك
top_scores <- function(scores, n) {
# اكتب الكود الخاص بك هنا
""
}
# كود الإدخال/الإخراج المُزوَّد: أبقِه كما هو
input <- suppressWarnings(readLines(file("stdin")))
cat(top_scores(as.numeric(strsplit(input[1], ",")[[1]]), as.numeric(input[2])), sep = "\n")
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس المنطق وتدفق التنفيذ
1السلاسل النصية بعمق
السلاسل الفرعية باستخدام substr()التنسيق باستخدام sprintf()التقسيم والضمالبحث في السلاسل النصيةاستبدال النصوصمراجعة - منشئ اسم المستخدم4المصفوفات
إنشاء المصفوفاتفهرسة المصفوفاتملخصات الصفوف والأعمدةالحساب على المصفوفاتمراجعة - مخطط المقاعد2استرجاع القيم باستخدام المفاتيح
البحث في المتجهات المُسمّاةالتحقق من المفاتيحإضافة المفاتيح وإزالتهاالتكرار عبر الأسماءمراجعة - مكتب الأسهم8الفرز والتجميع
فرز المتجهاتالفرز حسب مفتاحالتجميع باستخدام split()ملخصات المجموعاتمراجعة - لوحة المتصدرينتدرّب بنفسك: مترجم R عبر الإنترنت