Menu
Coddy logo textTech

הבנת מבני נתונים

שיעור 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
quiz iconבחנו את עצמכם

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

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

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

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

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

challenge icon

אתגר

קל

בצעו את הפעולות הבאות על מסגרת הנתונים:

  1. הוסיפו עמודה חדשה בשם "height_m" שממירה את הגובה מסנטימטרים למטרים
  2. חשבו והדפיסו את הגיל הממוצע
  3. הדפיסו את שמו של האדם הגבוה ביותר (במטרים)

נסו בעצמכם

# קראו את הקלט
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

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