Menu
Coddy logo textTech

צבירת נתונים עם dplyr

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

צבירת נתונים היא שלב חיוני בניתוח נתונים, המאפשר לך לסכם ולהפיק תובנות ממערך הנתונים שלך. החבילה dplyr ב-R מספקת פונקציות רבות עוצמה לצבירת נתונים, ובפרט group_by() ו-summarize(). בואו נבחן כיצד להשתמש בפונקציות האלה ביעילות.

הפונקציה group_by()

הפונקציה group_by() מאפשרת לך לקבץ את הנתונים שלך לפי משתנה אחד או יותר. זהו בדרך כלל השלב הראשון בצבירת נתונים.

# מסגרת נתונים לדוגמה
df <- data.frame(
  category = c("A", "B", "A", "B", "A"),
  value = c(10, 15, 20, 25, 30)
)

# קבצו את הנתונים לפי קטגוריה
grouped_df <- group_by(df, category)
print(grouped_df)

פלט:

# טיבל: 5 × 2
# קבוצות:   category [2]
  category value
  <chr>    <dbl>
1 A           10
2 B           15
3 A           20
4 B           25
5 A           30

הפונקציה summarize()

לאחר הקיבוץ, השתמשו ב-summarize() כדי לחשב סטטיסטיקות מסכמות עבור כל קבוצה.

# חשב את הערך הממוצע עבור כל קטגוריה
result <- summarize(grouped_df, mean_value = mean(value))
print(result)

פלט:

# A tibble: 2 × 2
  category mean_value
  <chr>        <dbl>
1 A             20
2 B             20

שילוב של group_by() ו-summarize()

אפשר לשרשר את הפונקציות האלה באמצעות אופרטור הצינור %>% כדי לכתוב קוד קריא יותר:

result <- df %>%
  group_by(category) %>%
  summarize(mean_value = mean(value),
            sum_value = sum(value),
            count = n())
print(result)

פלט:

# A tibble: 2 × 4
  category mean_value sum_value count
  <chr>        <dbl>     <dbl> <int>
1 A              20        60     3
2 B              20        40     2

מספר סטטיסטיקות מסכמות

אפשר לחשב כמה סטטיסטיקות בקריאה אחת ל-summarize():

result <- df %>%
  group_by(category) %>%
  summarize(
    mean_value = mean(value),
    min_value = min(value),
    max_value = max(value),
    count = n()
  )
print(result)

פלט:

# A tibble: 2 × 5
  category mean_value min_value max_value count
  <chr>         <dbl>     <dbl>     <dbl> <int>
1 A              20         10        30     3
2 B              20         15        25     2
quiz iconבחנו את עצמכם

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

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

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

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

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

challenge icon

אתגר

בינוני

צרו פונקציה שמעבדת נתוני מכירות באמצעות הפונקציות של dplyr. הפונקציה צריכה לבצע את הפעולות הבאות:

  1. קבצו את הנתונים לפי קטגוריית המוצר
  2. חשבו את הנתונים הסטטיסטיים המסכמים הבאים עבור כל קבוצה:
    • סך המכירות
    • המחיר הממוצע
    • מספר הפריטים שנמכרו
  3. סדרו את התוצאות לפי סך המכירות בסדר יורד
  4. החזירו את מסגרת הנתונים שעובדה

הדפיסו את מסגרת הנתונים שהתקבלה.

נסו בעצמכם

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


# המירו את מחרוזת הקלט למסגרת נתונים
suppressPackageStartupMessages(library(dplyr))
suppressPackageStartupMessages(library(readr))

sales_data <- read.csv(paste(input_data, collapse = "\n"))

# TODO: כתבו את הקוד שלכם למטה כדי לעבד את נתוני המכירות
# רמז: השתמשו בפונקציות של dplyr כגון group_by(), summarize(), arrange(), desc()

process_sales_data <- function(data) {
  # הקוד שלכם כאן
  
  # החזירו את מסגרת הנתונים המעובדת
  return(data)
}

# עבדו את נתוני המכירות
result <- process_sales_data(sales_data)

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

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

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