שליטה בלולאת for כדי לייעל חישובים מורכבים ופעולות חוזרות אחרות.
לולאות הן מבנה בסיסי בתכנות שלוקחים בלוק קוד ומריצים אותו שוב ושוב. שכן לולאות הן אחד מסוגי הלולאות שכמעט כל השפות מכילות. R's עבור לולאות הם חלק בלתי נפרד מניתוח נתונים.
הם משרתים מגוון מטרות, החל מעיצוב פלט ועד הפעלת חישובים על מערכי נתונים גדולים. השימוש ב-for לולאות ב-R הופך את ניתוח הנתונים לקל יותר לביצוע.
R's Basic for Loop
שפת R עבור לולאה מתפקדת בדומה לתקן עבור לולאות שנמצאו ב-Go ורוב שפות התכנות האחרות. בהינתן נקודת התחלה, הוא יריץ את הקוד הכלול בתוכו מספר נתון של פעמים.
מונה מחזיק את האיטרציה שהלולאה נמצאת כעת, ותוכל לגשת אליה מבלוק הקוד המשויך. לולאות יכולות לפעול עבור מספר קבוע של איטרציות, או עבור האורך הכולל של מערך, וקטור או רשימה.
לולאות איטרציה קבועות
לולאות איטרציה קבועות ב-R הן בצורה הבאה:
ל (איקס ב1:10) {
הדפס (x)
}
ה-x בלולאה הוא המשתנה שיאחסן את איטרציית הלולאה.
אחרי מילת המפתח "in" נמצאות נקודות ההתחלה והסיום של הלולאה. הלולאה תתחיל את האיטרטור שלה במספר הראשון.
לאחר כל פעם שהקוד בלולאה רץ, הוא יבדוק אם האיטרטור שווה למספר שאחרי המעי הגס.
אם כן, ביצוע הקוד ימשיך לאחר הלולאה. אם לא, האיטרטור יגדל ב-1, ובלוק הקוד בסוגריים יפעל שוב.
עבור לולאות על מערכים, רשימות ווקטורים
בדיוק כמו לולאה במילון בפייתון, אתה יכול לחזור על מבני נתונים מתאימים ב-R באמצעות לולאת for. אתה יכול להשתמש בכל מבנה נתונים שניתן לחזור עליו אחרי מילת המפתח "in", במקום נקודת התחלה וסיום קבועה.
לולאה זו תשנה את התנהגות הקוד. כאן, הלולאה תתפקד כמו לולאה קדמית משפות כמו C#:
עובדים "בן", "ג'יין", "סוזי", "ג'וש", "הִמנוֹן")
ל (איקס ב עובדים) {
הדפס (x)
}
כעת, במקום x להחזיק את האיטרציה הנוכחית של הלולאה, הוא יחזיק את האובייקט מהמערך או מהרשימה שהלולאה נמצאת בה כרגע. לאחר השלמת כל לולאה, אם יש פריטים נוספים ברשימה, במערך או בוקטור, x יוגדר לפריט הבא. אם אין פריטים נוספים, הביצוע ימשיך עם הקוד לאחר הלולאה.
הפונקציה הפרימיטיבית c ועבור לולאות
בנוסף למבני נתונים שכבר מאוכלסים, R יכול ליצור אחד חדש בהצהרה של לולאת for. לשם כך, השתמש בפונקציה c כדי לשלב אלמנטים מרובים לוקטור חדש.
אתה יכול לפשט את הדוגמה למעלה בשיטה זו:
ל (איקס ב c("בן", "ג'יין", "סוזי", "ג'וש", "הִמנוֹן")) {
הדפס (x)
}
שימו לב שהפלט הוא בדיוק כמו קודם:
הצהרות הקפיצה של R
שתי הצהרות מאפשרות לך לדלג על איטרציות לולאה: break והבא. הם משיגים זאת בדרכים שונות. אתה צריך לוודא שאתה יודע מה ההבדל בין השניים.
מילת המפתח להפסקה
כאשר לולאה נתקלת בהצהרת break בתוך עצמה, היא סוגרת מיד את הלולאה. מכיוון שהתוכנית יוצאת מהלולאה ברגע שהיא פוגעת במילת המפתח הפסקה, היא לא תפעיל שוב אף אחד מהקוד שנותר:
ימים "יוֹם שֵׁנִי", "יוֹם שְׁלִישִׁי", "יום רביעי", "יוֹם חֲמִישִׁי", "יוֹם שִׁישִׁי", "יום שבת",
"יוֹם רִאשׁוֹן")ל (איקס ב ימים) {
אם (x == "יום שבת") {
לשבור
}
הדפס (x)
}
הלולאה לעיל תדפיס את כל ימי השבוע, אך אף אחד מימי סוף השבוע.
מילת המפתח הבאה
מילת המפתח הבאה גם מדלגת על איטרציה, אך בניגוד להפסקה, Next לא סוגרת את הלולאה מיד. הלולאה שנותרה פתוחה פירושה שכל קוד נוסף בתוך הלולאה הנוכחית לא יפעל, אך האיטרציה הבאה תמשיך כמתוכנן:
ימים "יוֹם שֵׁנִי", "יוֹם שְׁלִישִׁי", "יום רביעי", "יוֹם חֲמִישִׁי", "יוֹם שִׁישִׁי", "יום שבת",
"יוֹם רִאשׁוֹן")ל (איקס ב ימים) {
אם (x == "יום שבת") {
הַבָּא
}
הדפס (x)
}
לולאה זו תופיע בכל יום חול ויום ראשון, אך היא לא תודפס בשבת.
דוגמה ללולאות ב-R
יש מגוון רחב של מצבים שבהם עבור לולאות שימושיות ב-R. הם יכולים להיות דרך מצוינת להפעיל חישובים חוזרים, כגון הוספת מספרים כדי לקבל סכום כולל:
הזמנות 23.4, 699.8, 1042.0)
סך הכל 0.0ל (להזמין ב הזמנות) {
סה"כ }
חתול("הסך הכל הוא $", סה"כ, "\n")
דוגמה זו תוסיף סך הזמנה מכל הזמנה בודדת ברשימה לסך הכולל.
לחלופין, לולאת for יכולה לעזור לך להוציא במהירות ובקלות כמויות גדולות של נתונים מעוצבים היטב:
day_totals 567.82, 364.72, 762.81, 354.99, 622.87)
ל (יְוֹם ב1:length (סיכומי_יום)) {
חתול("יום #", יום, ": $", סיכומי_יום[יום],"\n")
יום 1
}
אתה יכול להשתמש בלולאת for כדי להדפיס כל יום בשבוע ואת סך המכירות עבור אותו יום מסוים.
אתה יכול להשתמש בלולאת for כדי לחשב תוצאות ולהפוך אותן לזמינות לקוד מחוץ ללולאת for, כדי לקבל מגוון מידע:
test_scores 67, 89, 72, 44)
score_total 0
מספר_בדיקות 0ל (ציון ב test_scores) {
score_total num_tests 1
}
ממוצע_ציון הדפס (ממוצע_ציון)
הלולאה לעיל תחשב את הציון הממוצע שהושגו תלמידים במבחן.
כל מה שאתה צריך לדעת על R's for Loops
הכרחי ללמוד כיצד להפעיל מספר מוגדר של לולאות או לחזור על מערך נתונים ללא אורך קבוע.
בין אם אתה צריך לבצע חישובים חוזרים על מערך, להדפיס כל פריט ברשימה, או להציג אצווה גדולה של נתונים בצורה קריאה, R's for loop יכול לעזור.
הבנת העקרונות הבסיסיים מאחורי לולאות היא מיומנות חשובה שיש לך בארסנל, ושליטה בה יכולה לעזור לך לכתוב קוד פשוט וקל לקריאה.