דילוג לתוכן המרכזי
מודול 2 · שיעור 1 מתוך 23/10 בקורס~12 min
שיעורי מודול (1/2)

מסגרות נתונים

בניגוד למטריצות, שיכולות להכיל רק אלמנטים מסוג יחיד, מסגרות נתונים מייצגות את מבנה הנתונים הטבלאי הנפוץ ביותר ב-R לניתוח נתונים מהעולם האמיתי.

מסגרת נתונים היא טבלה שבה כל עמודה יכולה להכיל סוגי נתונים שונים (למשל, עמודה מספרית, עמודת טקסט ועמודה לוגית), אך כל העמודות חייבות להיות באורך זהה.

יצירת מסגרת נתונים

כדי ליצור מסגרת נתונים, השתמש בפונקציה data.frame(), הגדרת שמות העמודות והקצאת וקטורים להם:

R
# Create a sample data frame
students <- data.frame(
  name = c("Alice", "Bob", "Charlie"),
  grade = c(28, 24, 30),
  passed = c(TRUE, TRUE, TRUE)
)
print(students)

גישה לעמודות ושורות

ישנן מספר דרכים לחלץ ולתפעל נתונים במסגרת Data Frame:

  1. שימוש באופרטור הדולר $: מאפשר חילוץ של עמודה בודדת בתור וקטור.
    R
    grades <- students$grade
    # grades will be the vector c(28, 24, 30)
  2. שימוש בסוגריים מרובעים [row, column]: דומה למטריצות.
    R
    # First student (first row)
    first_student <- students[1, ]

סינון נתונים

אחד היתרונות של R הוא היכולת לסנן רשומות על סמך תנאים לוגיים:

R
# Select only students with grade greater than 25
good_students <- students[students$grade > 25, ]
print(good_students)

מידות ושינוי מסגרות נתונים

כדי למצוא את הממדים של Data Frame (מספר השורות והעמודות), נוכל להשתמש בפונקציה dim():

R
# Returns a vector with two elements: c(rows, columns)
dimensions <- dim(students)

אנו יכולים גם להוסיף עמודות חדשות או לעדכן עמודות קיימות באמצעות האופרטור $ ישירות:

R
# Adds a column with grades increased by 2 points
students$bonus_grade <- students$grade + 2

נסה זאת בעצמך

פעילות גופנית#r.m2.l1.e1
ניסיונות: 0טוען...

צור מסגרת נתונים בשם תלמידים המכילה שתי עמודות: שם (עם הערכים 'אליס' ו'בוב') וציון (עם ערכים 28 ו-24).

טוען עורך...
הצג רמז

השתמש בפונקציה data.frame: תלמידים <- data.frame(name = c('Alice', 'Bob'), grade = c(28, 24))

הפתרון זמין לאחר 3 ניסיונות

פעילות גופנית#r.m2.l1.e2
ניסיונות: 0טוען...

בהינתן תלמידי Data Frame, חלץ את עמודת הציונים באמצעות האופרטור $ ושמור אותה במשתנה grades_vector.

טוען עורך...
הצג רמז

Usa l'operatore $: grades_vector <- students$grade

הפתרון זמין לאחר 3 ניסיונות

פעילות גופנית#r.m2.l1.e3
ניסיונות: 0טוען...

סנן את תלמידי מסגרת הנתונים כך שיכלול רק תלמידים עם ציון גבוה מ-26 או שווה ל-26, תוך שמירת התוצאה ב-good_students.

טוען עורך...
הצג רמז

השתמש בתלמידים[students$grade >= 26, ] מבלי לשכוח את הפסיק כדי לבחור את כל העמודות.

הפתרון זמין לאחר 3 ניסיונות

פעילות גופנית#r.m2.l1.e4
ניסיונות: 0טוען...

בהינתן מסגרת הנתונים df, קבל את הממדים שלה באמצעות הפונקציה dim() ושמור אותם במשתנה df_dim.

טוען עורך...
הצג רמז

השתמש בפונקציה dim(): df_dim <- dim(df)

הפתרון זמין לאחר 3 ניסיונות

פעילות גופנית#r.m2.l1.e5
ניסיונות: 0טוען...

בהתחשב במלאי מסגרת הנתונים, הוסף עמודה חדשה בשם total_value המחושבת כמכפלה של עמודות המחיר והכמות.

טוען עורך...
הצג רמז

השתמש: inventory$total_value <- inventory$price * inventory$quantity

הפתרון זמין לאחר 3 ניסיונות