Menu
Coddy logo textTech

R Cheat Sheet: דף עזר לשפת R

עודכן לאחרונה

Hello World והשמה

אופרטור ההשמה המקובל ב-R הוא <- (גם האופרטור = עובד).

פעולהתחביר
הדפסת ערךprint("Hello, World!")
הדפסה אוטומטית (בקונסולה)"Hello, World!"
שרשור והדפסהcat("Hi", name, "\n")
השמה (הדרך המקובלת)x <- 5
השמה (גם תקינה)x = 5
השמה ימינה5 -> x
הערה# this is a comment
הרצת סקריפטRscript app.R

טיפוסי נתונים וווקטורים

הווקטור הוא מבנה הנתונים הבסיסי של R; אפילו ערך יחיד הוא ווקטור באורך 1.

פעולהתחביר
ווקטור מספריv <- c(1, 2, 3)
ווקטור תוויםs <- c("a", "b")
ווקטור לוגיb <- c(TRUE, FALSE)
רצף מספרים שלמים1:10
רצף עם קפיצהseq(0, 1, by = 0.1)
חזרה על ערכיםrep(0, times = 5)
טיפוסים בסיסייםnumeric, character, logical, integer, complex
בדיקה / המרה של טיפוסclass(x), as.numeric("42")

פעולות על ווקטורים

הפעולות הן וקטוריות ומופעלות איבר אחר איבר; האינדקסים מתחילים מ-1.

פעולהתחביר
גישה לאיבר (מתחיל מ-1)v[1]
חיתוך טווחv[2:4]
סינון לוגיv[v > 2]
הסרת איברv[-1]
חישוב איבר אחר איברv * 2, v1 + v2
אורךlength(v)
פונקציות צמצום נפוצותsum(v), mean(v), max(v)
מיון / היפוךsort(v), rev(v)
ווקטור עם שמותc(a = 1, b = 2)

Data frames

data frame היא טבלה של עמודות, שכל אחת מהן היא ווקטור באותו אורך.

פעולהתחביר
יצירת data framedf <- data.frame(name = c("Ada"), age = c(30))
השורות הראשונות / האחרונותhead(df), tail(df)
ממדיםnrow(df), ncol(df), dim(df)
שמות העמודותnames(df), colnames(df)
בחירת עמודהdf$age או df[["age"]]
בחירת שורות / עמודותdf[1, ], df[, "age"]
סינון שורותdf[df$age > 18, ]
הוספת עמודהdf$adult <- df$age >= 18
סטטיסטיקה מסכמתsummary(df)
סקירת המבנהstr(df)

Factors ורשימות

Factors שומרים נתונים קטגוריאליים; רשימות מכילות איברים מטיפוסים שונים.

פעולהתחביר
יצירת factorf <- factor(c("low", "high"))
הרמות של factorlevels(f)
factor מסודרfactor(x, ordered = TRUE)
ספירה לפי רמהtable(f)
יצירת רשימהl <- list(name = "Ada", scores = c(1, 2))
גישה לפי שםl$name או l[["name"]]
גישה לפי מיקוםl[[1]]
תת-רשימה (נשארת רשימה)l[1]
אורך / שמותlength(l), names(l)

בקרת זרימה

תנאים נכתבים בסוגריים עגולים ובלוקים בסוגריים מסולסלים.

פעולהתחביר
If / else if / elseif (x > 0) { ... } else if (x < 0) { ... } else { ... }
if-else וקטוריifelse(v > 0, "pos", "neg")
לולאת forfor (i in 1:10) { ... }
for על ווקטורfor (x in v) { ... }
לולאת whilewhile (x < 100) { ... }
repeat עם breakrepeat { if (done) break }
Switchswitch(key, a = 1, b = 2)
אופרטורים לוגיים&&, ||, ! (סקלרי); &, | (וקטורי)

פונקציות

פונקציות הן אזרחיות מדרגה ראשונה; הביטוי האחרון שחושב הוא הערך המוחזר.

פעולהתחביר
הגדרת פונקציהadd <- function(a, b) { a + b }
החזרה מפורשתreturn(a + b)
ארגומנט ברירת מחדלgreet <- function(name = "World") { ... }
ארגומנט משתנה (variadic)f <- function(...) { sum(...) }
קריאה לפי שםbox(w = 2, h = 3)
פונקציה אנונימיתfunction(x) x * 2
פונקציה אנונימית (קיצור)\(x) x * 2
העברה לפונקציה מסדר גבוהsapply(1:3, function(x) x^2)

משפחת apply

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

פונקציהמה היא עושה
apply(m, 1, sum)הפעלה על שורות (1) או עמודות (2) של מטריצה
sapply(v, f)הפעלה על ווקטור, עם פישוט לווקטור או מטריצה
lapply(v, f)הפעלה על ווקטור, תמיד מחזירה רשימה
vapply(v, f, numeric(1))כמו sapply אבל עם בדיקת טיפוס ההחזרה
mapply(f, a, b)הפעלה על כמה ווקטורים במקביל
tapply(x, group, mean)הפעלת פונקציה לכל קבוצה
Map(f, a, b)apply רב-משתני שמחזיר רשימה
Reduce(+, v)צמצום ווקטור עם פונקציה בינארית

פונקציות נפוצות לעיבוד נתונים וסטטיסטיקה

פונקציות בסיס שימושיות לסיכום נתונים ולשינוי המבנה שלהם.

פונקציהמה היא עושה
mean(v) / median(v)ממוצע / חציון
sd(v) / var(v)סטיית תקן / שונות
min(v) / max(v) / range(v)הקטן ביותר / הגדול ביותר / שניהם
quantile(v)קוונטילים (למשל רבעונים)
table(x)ספירת שכיחויות של ערכים
unique(v) / duplicated(v)ערכים ייחודיים / סימון כפילויות
is.na(v) / na.omit(df)מציאה / הסרה של ערכים חסרים
aggregate(y ~ g, df, mean)סיכום y לפי קבוצה g
order(v)סדר אינדקסים למיון
cor(x, y)מתאם בין שני ווקטורים

התחביר של R שאתם צריכים הכי הרבה, בעמוד אחד. ה-R cheat sheet הזה הוא דף עזר מהיר לליבת השפה: השמה וטיפוסי נתונים, ווקטורים ופעולות על ווקטורים, data frames, factors ורשימות, בקרת זרימה, פונקציות ומשפחת apply שמשמשת בכל ניתוח נתונים ב-rstats.

כל מה שכאן הוא base R שרץ בהתקנה רגילה, בלי חבילות נוספות. העתיקו את מה שאתם צריכים, או נסו כל קטע קוד בזמן אמת בעורך האונליין של R, בלי שום הגדרות.

שאלות נפוצות על ה-R cheat sheet

האם ה-R cheat sheet הזה חינמי?
כן. ה-R cheat sheet הזה חינמי לגמרי, בלי צורך בהרשמה. שמרו אותו במועדפים וחזרו אליו בכל פעם שתצטרכו לבדוק פעולה על ווקטור, מתודה של data frame או פונקציה סטטיסטית.
האם האינדקסים של ווקטורים ב-R באמת מתחילים מ-1?
כן. בניגוד לרוב שפות התכנות, האינדקסים ב-R מתחילים מ-1, כך ש-v[1] מחזיר את האיבר הראשון ו-v[length(v)] מחזיר את האחרון. לאינדקסים שליליים יש משמעות מיוחדת: v[-1] מסיר את האיבר הראשון ולא סופר מהסוף. המוסכמה הזו חלה על ווקטורים, רשימות ו-data frames כאחד.
מה זה data frame ב-R?
data frame הוא סוג הטבלה של R: אוסף של עמודות שבו כל עמודה היא ווקטור באותו אורך, ועמודות שונות יכולות להכיל טיפוסים שונים (מספרים, טקסט, factors). זה המבנה הסטנדרטי למאגרי נתונים: השורות הן תצפיות והעמודות הן משתנים. ניגשים אליו עם df[rows, columns], בוחרים עמודה עם df$name ובודקים אותו עם str(df) או summary(df).
אפשר לתרגל R אונליין?
כן. פתחו את עורך האונליין של R כדי להריץ כל קטע קוד מדף העזר הזה בדפדפן, בלי להתקין R או RStudio. כשתרצו מסגרת מסודרת, קורס ה-R האינטראקטיבי והחינמי של Coddy ייקח אתכם צעד אחר צעד מווקטורים ו-data frames ועד משפחת apply וסטטיסטיקה.
האם דף העזר הזה מתאים למתחילים?
כן. הוא מסודר מהנושאים הנפוצים ביותר (השמה, ווקטורים, data frames) ועד המתקדמים (משפחת apply ופונקציות סטטיסטיות), כך שאפשר להשתמש בחלקים העליונים כבר מהיום הראשון ולהתקדם לשאר בהמשך.
איור של שפות התכנות ב-Coddy

ללמוד R עם Coddy

להתחיל