Menu
Coddy logo textTech

מבוא ל־dplyr

שיעור 6 מתוך 14 בקורס מניפולציה של נתונים ב-R של Coddy.

החבילה dplyr היא כלי רב־עוצמה לעיבוד נתונים ב־R. היא מספקת קבוצת פונקציות שמקלות על שינוי וניתוח של מסגרות נתונים ביעילות. בשיעור הזה נתמקד בשלוש פונקציות מרכזיות: select(), filter() ו־mutate().

טעינת dplyr

הנה דוגמה לטעינת החבילה:

# טען את dplyr
library(dplyr)

הפונקציה select()

הפונקציה select() מאפשרת לבחור עמודות מסוימות מתוך מסגרת נתונים:

# צרו מסגרת נתונים לדוגמה
df <- data.frame(
  name = c("Alice", "Bob", "Charlie"),
  age = c(25, 30, 35),
  city = c("New York", "London", "Paris")
)

# בחרו עמודות מסוימות
result <- select(df, name, age)
print(result)

פלט:

  name    age
1 Alice   25
2 Bob     30
3 Charlie 35

הפונקציה filter()

הפונקציה filter() מאפשרת לבחור שורות לפי תנאים מסוימים:

# סנן שורות שבהן age גדול מ-28
result <- filter(df, age > 28)
print(result)

פלט:

  name     age city
1 Bob      30  London
2 Charlie  35  Paris

הפונקציה mutate()

הפונקציה mutate() מאפשרת ליצור עמודות חדשות או לשנות עמודות קיימות:

# הוסף עמודה חדשה 'age_group'
result <- mutate(df, age_group = ifelse(age < 30, "Young", "Adult"))
print(result)

פלט:

    name age    city age_group
1  Alice  25 New York     Young
2    Bob  30   London     Adult
3 Charlie  35    Paris     Adult

אופרטור הצינור %>%

dplyr מציגה את אופרטור הצינור %>%, שמאפשר לשרשר כמה פעולות:

result <- df %>%
  filter(age > 28) %>%
  select(name, city) %>%
  mutate(location = paste(name, "lives in", city))
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

challenge icon

אתגר

קל

עבדו על מסגרת נתונים של פרטי עובדים באמצעות פונקציות dplyr. בצעו את הפעולות הבאות:

  1. בחרו רק את העמודות "name", "age" ו-"salary"
  2. סננו את הנתונים כך שיכללו רק עובדים בני 30 ומעלה
  3. הוסיפו עמודה חדשה בשם "bonus", שערכה הוא 10% מהמשכורת לעובדים בני 40 ומעלה, ו-5% עבור האחרים
  4. מיינו את מסגרת הנתונים לפי המשכורת בסדר יורד
  5. הדפיסו את מסגרת הנתונים שהתקבלה.

נסו בעצמכם

# טענו את הספרייה הנדרשת
suppressPackageStartupMessages(library(dplyr))

# קראו את הקלט
con <- file("stdin", "r")
input_data <- suppressWarnings(readLines(con))

# צרו מסגרת נתונים מהקלט
df <- read.csv(text = input_data, stringsAsFactors = FALSE)

# TODO: כתבו את הקוד שלכם למטה כדי לעבד את מסגרת הנתונים
process_employee_data <- function(df) {
  # הקוד שלכם כאן
  # השתמשו בפונקציות של dplyr כדי:
  # 1. לבחור עמודות
  # 2. לסנן נתונים
  # 3. להוסיף עמודת בונוס
  # 4. למיין לפי שכר
  
  return(df)  # החליפו את זה במסגרת הנתונים שעיבדתם
}

# עבדו את מסגרת הנתונים
result <- process_employee_data(df)

# הדפס את התוצאה
print(result)

כל השיעורים ביחידה מניפולציה של נתונים ב-R

תרגלו בעצמכם: קומפיילר R אונליין