לוגיקה וקטורית חלק 2
חלק מהיחידה יסודות במסלול ה-R של Coddy. שיעור 21 מתוך 78.
בדומה לכך של־AND ול־OR יש גרסאות וקטוריות, גם האופרטור NOT פועל על וקטורים איבר־איבר. כשמחילים ! על וקטור של ערכים לוגיים, הוא הופך כל איבר בנפרד.
passed <- c(TRUE, FALSE, TRUE, FALSE)
!passed # FALSE TRUE FALSE TRUEכל TRUE הופך ל־FALSE, וכל FALSE הופך ל־TRUE. זה שימושי במיוחד כשרוצים למצוא רכיבים שאינם עומדים בתנאי מסוים:
temperatures <- c(18, 25, 30, 15, 22)
# מצאו טמפרטורות שאינן גבוהות מ-20
!(temperatures > 20) # TRUE FALSE FALSE TRUE FALSEאפשר לשלב את פעולת NOT הווקטורית עם & ועם | כדי לבנות מסננים מורכבים:
ages <- c(16, 25, 18, 30, 14)
has_permission <- c(TRUE, TRUE, FALSE, TRUE, TRUE)
# ניתן להשתתף אם: הגיל >= 18 או (הגיל מתחת ל-18 ויש אישור)
can_participate <- ages >= 18 | (ages < 18 & has_permission)
# TRUE TRUE FALSE TRUE TRUEזכור: השתמש ב־&, ב־| וב־! יחידים כשעובדים עם וקטורים, וב־&& וב־|| כפולים כשמשווים ערכים יחידים.
אתגר
קלהשתמש באופרטור NOT וקטורי (!) יחד עם & ו־| כדי ליצור תנאים לוגיים מורכבים איבר־איבר.
הווקטורים הבאים נתונים לך:
scores <- c(45, 72, 88, 55, 91, 38, 67)
attended <- c(TRUE, TRUE, FALSE, TRUE, TRUE, FALSE, TRUE)
submitted_homework <- c(TRUE, FALSE, TRUE, TRUE, TRUE, FALSE, FALSE)השתמש באופרטורים לוגיים וקטוריים, כולל אופרטור NOT, כדי ליצור את הווקטורים הלוגיים הבאים:
- צור וקטור בשם
failedששומרTRUEעבור כל ציון שאינו גדול מ־60 או שווה לו - צור וקטור בשם
absentששומר את ההפך שלattended(הפוך כל ערך) - צור וקטור בשם
at_riskששומרTRUEעבור כל תלמיד שלא הגיע או שלא הגיש שיעורי בית - צור וקטור בשם
passing_but_absentששומרTRUEעבור כל תלמיד שהציון שלו גדול מ־60 או שווה לו וגם הוא לא הגיע - צור וקטור בשם
needs_supportששומרTRUEעבור כל תלמיד שעונה על התנאי: (הציון נמוך מ־50) או (הוא לא הגיע וגם לא הגיש שיעורי בית)
השתמש בפונקציה print() כדי להציג את failed, absent, at_risk, passing_but_absent ו־needs_support בדיוק בסדר הזה.
נסו בעצמכם
# וקטורים נתונים
scores <- c(45, 72, 88, 55, 91, 38, 67)
attended <- c(TRUE, TRUE, FALSE, TRUE, TRUE, FALSE, TRUE)
submitted_homework <- c(TRUE, FALSE, TRUE, TRUE, TRUE, FALSE, FALSE)
# TODO: כתבו את הקוד שלכם למטה
# 1. צרו את 'failed' - TRUE עבור ציונים שאינם >= 60
# 2. צרו את 'absent' - ההפך מ-attended
# 3. צרו את 'at_risk' - NOT attended OR NOT submitted homework
# 4. צרו את 'passing_but_absent' - ציון >= 60 AND NOT attended
# 5. צרו את 'needs_support' - (ציון < 50) OR (NOT attended AND NOT submitted homework)
# הדפיסו את התוצאות
print(failed)
print(absent)
print(at_risk)
print(passing_but_absent)
print(needs_support)השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
4אופרטורים חלק 2
אופרטורים לוגיים (AND, OR)אופרטורים לוגיים חלק 2 (NOT)חזרה – לוגיקה פשוטהלוגיקה וקטורית חלק 1לוגיקה וקטורית חלק 27מחשבון לחלוקת החשבון
הודעת פתיחהקבלת קלט מהמשתמש2משתנים וסוגי נתונים
סוג נתונים מספריסוג נתונים שלמיםסוג נתונים של תוויםסוג נתונים לוגיבדיקת סוגי נתוניםמוסכמות למתן שמותערכים חסרים: NAסיכום – יצירת משתנים8לולאות
לולאת forלולאת whileפקודת breakהמשך (continue)סיכום – עצרתיצירת רצפים (seq, :)לולאות מקוננותסיכום – קלט דינמי3אופרטורים חלק 1
אופרטורים אריתמטייםחלוקת מספרים שלמים ומודולואופרטורי השמהחזרה – חשבון פשוטאופרטורי השוואה6קלט/פלט בסיסי
הדפסת פלטחתול כפלטפלט עם משתניםקריאת קלט באמצעות readline()יסודות המרת טיפוסיםחזרה – מחשבון גילחזרה – אמת או שקר9פונקציות
הכרזה על פונקציהארגומנטים של פונקציהערכי החזרהסיכום – פונקציית סיגמאסיכום – פונקציית אימותערכי ברירת מחדל לפרמטריםתרגלו בעצמכם: קומפיילר R אונליין