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

סינון ובחירת נתונים

The Tidyverse הוא אוסף של חבילות R המיועדות למדעי נתונים שחולקות פילוסופיה, דקדוק ומבני נתונים משותפים. חבילת הליבה למניפולציה של נתונים בחבילה זו נקראת dplyr.

dplyr מציגה קבוצה של פונקציות ("פעלים") שהופכות את המניפולציה של מסגרות נתונים אינטואיטיבית ביותר.


מפעיל הצינור (%>% או |>)

הפילוסופיה של Tidyverse מתמקדת בחיבור פעולות יחד. אופרטור הצינור %>% (או הצינור המקורי |> שהוצג ב-R 4.1+) לוקח את התוצאה של ביטוי אחד ומעביר אותה כארגומנט הראשון לפונקציה הבאה. זה ימנע קריאות פונקציות מקוננות ומונע עומס של סביבת העבודה שלך במשתנים זמניים.

R
# Without pipe:
filter(select(df, name, age), age > 20)

# With pipe:
df %>%
  select(name, age) %>%
  filter(age > 20)

dplyr פעלים לסינון ובחירה

שלושת הפעלים הבסיסיים לחילוץ נתונים ממסגרת נתונים הם:

1. select()

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

R
# Select the 'name' and 'salary' columns
select(df, name, salary)

# Remove the 'address' column
select(df, -address)

2. filter()

מסנן שורות על סמך תנאי לוגי אחד או יותר.

R
# Filter rows where age is greater than 30
filter(df, age > 30)

# Filter using multiple conditions (logical AND)
filter(df, age > 30, department == "HR")

3. arrange()

ממיין שורות על סמך הערכים של עמודה אחת או יותר. סדר המיון עולה כברירת מחדל. כדי למיין בסדר יורד, עטוף את שם העמודה ב-desc().

R
# Sort by age (ascending)
arrange(df, age)

# Sort by salary (descending)
arrange(df, desc(salary))

נסה זאת בעצמך

תרגיל 1: בחר עמודות

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

בהינתן מסגרת הנתונים df, בחר את עמודות השם והגיל באמצעות select() ושמור את התוצאה ב-df_selected.

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

ארה"ב: df_selected <- select(df, name, age)

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

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

סנן את השורות של מסגרת הנתונים df שבהן עמודת הגיל היא בהחלט גדולה מ-18, ושמור את התוצאה ב-df_adults.

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

השתמש בפונקציה filter(df, age > 18) והקצה את התוצאה ל-df_adults.

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

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

השתמש באופרטור הצינור %>% לשרשרת פעולות: תחילה סנן את df תוך שמירה רק על רשומות כאשר גיל> 18, ולאחר מכן בחר את עמודת השם. שמור את התוצאה במיל.

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

כתב: res <- df %>% filter(גיל > 18) %>% select(name)

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

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

מיין את השורות של מסגרת הנתונים df בהתבסס על עמודת השכר בסדר יורד באמצעות arrange() ו-desc(). שמור את התוצאה ב-df_sorted.

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

ארה"ב לארגן (desc(משכורת)) all'interno di una pipeline o come argomento diretto.

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

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

כתוב צינור שלם ב-df: סנן את הרשומות שבהן מחלקה שווה 'IT', בחר את שם העמודות והשכר, ומיון את התוצאה לפי שכר (עולה). שמור את התוצאה הסופית במיל.

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

השתמש בצינור %>% כדי לסנן שרשרת (מחלקה == 'IT'), לבחור (שם, משכורת) ולסדר (משכורת).

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