הבנת מבני נתונים
שיעור 1 מתוך 14 בקורס מניפולציה של נתונים ב-R של Coddy.
ב-R, מבני נתונים הם יסודיים לארגון ולמניפולציה של נתונים. בואו נבחן שלושה מבני נתונים בסיסיים: וקטורים, מטריצות ומסגרות נתונים.
1. וקטורים
וקטורים הם מערכים חד־ממדיים שיכולים להכיל איברים מאותו סוג נתונים.
# יצירת וקטור מספרי
numbers <- c(1, 2, 3, 4, 5)
# יצירת וקטור תווים
fruits <- c("apple", "banana", "cherry")
# גישה לאיברים
print(numbers[2]) # פלט: 2
print(fruits[1:2]) # פלט: "apple" "banana"
2. מטריצות
מטריצות הן מערכים דו־ממדיים עם שורות ועמודות, המכילים איברים מאותו סוג נתונים.
# יצירת מטריצה
mat <- matrix(1:6, nrow = 2, ncol = 3)
# גישה לאיברים
print(mat[1, 2]) # מחזיר את האיבר בשורה ה-1 ובעמודה ה-2 (פלט: 3)
print(mat[, 1]) # מחזיר את העמודה ה-1 כווקטור (פלט: 1 2)
3. מסגרות נתונים
מסגרות נתונים הן מבנים דמויי טבלה שיכולים להכיל סוגי נתונים שונים בכל עמודה.
# יצירת מסגרת נתונים
df <- data.frame(
name = c("Alice", "Bob", "Charlie"),
age = c(25, 30, 35),
city = c("New York", "London", "Paris")
)
# גישה לאיברים
print(df$name) # מחזיר את העמודה בשם "name" (פלט: "Alice" "Bob" "Charlie")
print(df[2, "age"]) # פלט: 30השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
אתגר
קלבצעו את הפעולות הבאות על מסגרת הנתונים:
- הוסיפו עמודה חדשה בשם "height_m" שממירה את הגובה מסנטימטרים למטרים
- חשבו והדפיסו את הגיל הממוצע
- הדפיסו את שמו של האדם הגבוה ביותר (במטרים)
נסו בעצמכם
# קראו את הקלט
con <- file("stdin", "r")
input_data <- suppressWarnings(readLines(con, n = 3))
# עבדו את נתוני הקלט
data_list <- strsplit(input_data, ",")
names <- sapply(data_list, function(x) x[1])
ages <- as.numeric(sapply(data_list, function(x) x[2]))
heights <- as.numeric(sapply(data_list, function(x) x[3]))
# צרו את מסגרת הנתונים הראשונית
df <- data.frame(
name = names,
age = ages,
height = heights
)
# TODO: כתבו את הקוד שלכם למטה
# 1. הוסיפו עמודה חדשה 'height_m'
# 2. חשבו והדפיסו את הגיל הממוצע
# 3. הדפיסו את שמו של האדם הגבוה ביותר (במטרים)
# מציין מקום לפלט
cat("Average age:", avg_age, "\n")
cat("Tallest person:", tallest_person)כל השיעורים ביחידה מניפולציה של נתונים ב-R
1יסודות הנתונים
הבנת מבני נתוניםאינדוקס של Dataframeבחירת תת־קבוצות של נתוניםהמרת סוגי נתוניםאופרטור הצינור ב־Rתרגלו בעצמכם: קומפיילר R אונליין