Menu

מה זה R? שפת התכנות לנתונים ולסטטיסטיקה

מהי שפת התכנות R, מאיפה היא הגיעה, למה משתמשים בה ואיך היא בהשוואה ל-Python, עם טעימה ראשונה של קוד R שאפשר להריץ.

בדף הזה יש עורכים שאפשר להריץ - לערוך, להריץ ולראות את הפלט מיד.

מה זה R?

R היא שפת תכנות שנבנתה לתפקיד אחד: עבודה עם נתונים. סטטיסטיקה, ניתוח נתונים וויזואליזציה של נתונים הם לא דברים שמוסיפים ל-R עם ספריות: הם השפה עצמה. ממוצעים, מודלים, תרשימים והתפלגויות הסתברות מגיעים בקופסה, והתחביר מעוצב סביב השאלה שאנשי נתונים באמת שואלים: "הנה עמודה של מספרים, ספרו לי משהו עליה."

המיקוד הזה הוא כל האישיות של R. שפה כללית כמו Java מבקשת מכם לבנות מאבני יסוד. R נותנת לכם מבחן t בשורה אחת.

הנה R עושה את מה שהיא נולדה לעשות, הריצו את זה:

שלוש סטטיסטיקות, שלוש שורות, בלי ייבוא. c() בונה וקטור של ערכים, ו-mean(), sd() ו-max() מובנות בשפה. זו חוויית R בזעיר אנפין.

היסטוריה קצרה

R צמחה מתוך S, שפה סטטיסטית שפותחה ב-Bell Labs בשנות ה-70. באמצע שנות ה-90, שני סטטיסטיקאים מאוניברסיטת אוקלנד, Ross Ihaka ו-Robert Gentleman, בנו מימוש חינמי וקוד פתוח של הרעיונות של S וקראו לו R, משחק גם על האות הראשונה של השמות הפרטיים של שניהם וגם על ה-S שממנה היא צאצאית.

R 1.0 יצאה בשנת 2000, ומאז השפה מתוחזקת על ידי R Core Team. מכיוון שהיא הייתה חינמית בעוד שאבותיה המסחריים לא היו, R התפשטה קודם באוניברסיטאות ובמעבדות מחקר, וה-DNA האקדמי הזה עדיין ניכר: כשסטטיסטיקאים ממציאים שיטה חדשה, חבילת R שמממשת אותה מופיעה בדרך כלל לפני כל דבר אחר.

למה משתמשים ב-R

  • סטטיסטיקה וניתוח נתונים. מקרה השימוש המרכזי. סטטיסטיקה תיאורית, מבחני השערות, רגרסיה, סדרות עתיות: כולם אזרחים מדרגה ראשונה.
  • ויזואליזציה של נתונים. R הבסיסית משרטטת בקריאה אחת לפונקציה, והחבילה ggplot2 נחשבת בעיני רבים לספריית התרשימים הטובה ביותר בכל שפה.
  • מדעי הנתונים. אוסף החבילות "tidyverse" (dplyr, tidyr, readr) הופך ניקוי ועיצוב מחדש של נתונים מבולגנים לנעים במיוחד.
  • ביואינפורמטיקה. פרויקט Bioconductor, אלפי חבילות R לגנומיקה, הופך את R לשפת ברירת המחדל בחלק גדול מהביולוגיה.
  • אקדמיה ומחקר. כלכלה, פסיכולוגיה, אפידמיולוגיה, אקולוגיה: אם תחום מפרסם מאמרים עם ערכי p, הסטודנטים לתארים מתקדמים בו כנראה כותבים R.
  • דיווח. R Markdown ו-Quarto הופכים קוד ניתוח לדוחות, מצגות ולוחות מחוונים מלוטשים.

למה אנשים אוהבים את R

הכול וקטור. פעולות ב-R חלות באופן טבעי על אוספים שלמים של ערכים בבת אחת: prices * 1.2 מעלה כל מחיר ב-20%, בלי לולאה. ברגע שזה מתיישב, קוד נתונים מתקצר באופן דרמטי. תראו את זה בכל מקום כשתגיעו ל-וקטורים.

הסטטיסטיקה מובנית. יצירת מספרים אקראיים, התפלגויות, מבחנים סטטיסטיים ומודלים ליניאריים חיים ב-R הבסיסית. ברוב השפות אלה תלויות של צד שלישי; ב-R הם פשוט שם.

CRAN. Comprehensive R Archive Network מארח יותר מ-20,000 חבילות שנבחרו בקפידה, וכל אחת מהן עוברת בדיקות אוטומטיות לפני פרסום. לא משנה באיזו שיטת נישה התחום שלכם משתמש, מישהו כבר ארז אותה.

תרשימים שמכבדים את הזמן שלכם. hist(scores) נותנת לכם היסטוגרמה. קריאה אחת. ניתוח חקרני, להסתכל על הנתונים, לתקן, להסתכל שוב, הוא מה ש-R ממוטבת בשבילו.

R מול Python: הגרסה הכנה

זו השאלה שכל מתחיל שואל, אז הנה התשובה בלי שבטיות.

Python היא שפה כללית שטובה מאוד בנתונים. היא מנצחת כשעבודת הנתונים היא חלק אחד ממערכת גדולה יותר: אפליקציית אינטרנט, שרשרת ML בסביבת ייצור, קוד שמדביק אוטומציות. יש יותר משרות שקשורות אליה, ושפה אחת מכסה יותר שטח.

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

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

נסו את זה עכשיו

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

sample() מדמה 100 הטלות של קובייה, ו-table() סופרת כמה פעמים יצאה כל פאה: טבלת שכיחויות בקריאה אחת. שנו את ה-100 ל-10000 והריצו שוב; הממוצע מתקרב ל-3.5, בדיוק כמו שההסתברות אומרת שצריך. המעגל הזה, שאלה, קוד, תשובה, שינוי, הוא התחושה של עבודה ב-R.

כשתהיו מוכנים להריץ R על המחשב שלכם, השלב הבא הוא התקנת R ו-RStudio.

מה לקחת מכאן

  • R היא שפה חינמית וקוד פתוח שנבנתה במיוחד לסטטיסטיקה, לניתוח נתונים ולוויזואליזציה.
  • היא צאצאית של S, ונוצרה על ידי Ross Ihaka ו-Robert Gentleman באמצע שנות ה-90; R 1.0 הגיעה בשנת 2000.
  • החוזקות שלה: פעולות וקטוריות, סטטיסטיקה מובנית, יותר מ-20,000 החבילות של CRAN, ותרשימים מהטובים שיש.
  • R מול Python אינה מלחמה: R עמוקה יותר בסטטיסטיקה, Python רחבה יותר בהנדסה, והרבה אנשים משתמשים בשתיהן.

הבא בתור: התקנת R (ו-RStudio) על המחשב שלכם.

שאלות נפוצות

למה משתמשים בשפת R?

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

האם קשה ללמוד R?

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

כדאי ללמוד R או Python?

אם העבודה שלכם היא קודם כול סטטיסטיקה (מחקר, ביוסטטיסטיקה, אקונומטריקה, דיווח), R תביא אתכם רחוק יותר ומהר יותר. אם אתם רוצים שפה כללית אחת לנתונים וגם לסקריפטים, לצד שרת של אתרים או להנדסת למידת מכונה, בחרו ב-Python. אנשי נתונים רבים משתמשים בסוף בשתיהן: המושגים עוברים משפה לשפה.

האם R חינמית?

כן. R חינמית וקוד פתוח, ומשוחררת תחת רישיון GPL. מורידים אותה מ-CRAN בחינם, וגם אלפי החבילות ב-CRAN חינמיות.

איור של שפות התכנות ב-Coddy

ללמוד תכנות עם Coddy

להתחיל