עדכון שפה R משמעותי מביא לשינויים גדולים

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

השדרוג פורסם ב- 24 באפריל. קוד המקור של R 4.0.0 נגיש בכתובת cran.r-project.org. פרויקט GNU, R אסף קיטור עם עליית מדע הנתונים ולמידת מכונות, ומדורג כיום במקום ה -10 במדד Tiobe של פופולריות השפה ובמקום השביעי במדד PyPL Popularity of Programming Language.

סרטון קשור: תכונות חדשות של R 4.0

השינויים והתכונות שהוצגו ב- R 4.0.0 כוללים:

  • תחביר חדש מוצע לציון קבועי תווים _raw_ הדומים לזה המשמש ב- C ++, שם  r"..."ניתן להשתמש בו כדי להגדיר מחרוזת מילולית. זה מקל על כתיבת מחרוזות המכילות קו נטוי אחורי או ציטוטים בודדים וגם כרכאות כפולות.
  • השפה משתמשת כעת stringAsFactors = FALSEבברירת מחדל, ולכן כברירת מחדל כבר לא ממירה מחרוזות לגורמים בשיחות אל data.frame()ו- read.table(). חבילות רבות הסתמכו על ההתנהגות הקודמת ויזדקקו לעדכון.
  • הפונקציה הכללית S3 plot()כעת היא בבסיס חבילה ולא בגרפיקה של חבילה; סביר שיהיו שיטות שאינן משתמשות בחבילת הגרפיקה. הגנרי כרגע מיוצא מחדש ממרחב השם הגרפי כדי לאפשר לחבילות שמייבאות אותו משם להמשיך לעבוד, אך הדבר עשוי להשתנות בעתיד. plot()יש להתקין מחדש חבילות שמגדירות גרפיקה של S4 וקוד חבילה המשתמש בגנריות כאלה מחבילות אחרות חייב לוודא שהם מיובאים במקום להסתמך על חיפושים בנתיב החיפוש.
  • שיטות S3 עבור מערך הכיתות נשלחות כעת לאובייקטים של מטריצה.
  • נעשה שימוש כעת בספירת הפניות במקום במנגנון NAMED לקביעת מתי ניתן למוטט עצמים בבטחה לקוד בסיס C. זה מצמצם את הצורך להעתיק במקרים מסוימים ואמור לאפשר אופטימיזציות עתידיות. זה צפוי גם להקל על תחזוקת הקוד הפנימי.
  • assertError()ו assertWarning()בכלי חבילה כעת ניתן לבדוק ספציפי ג  כיתות שגיאה או אזהרה דרך הטיעון השני אופציונאלי החדש classes.
  • DF2formula(), כלי השירות לשיטת מסגרת הנתונים formula(), פועל כעת ללא ניתוח והערכה מפורשת.
  • וקטורים ארוכים נתמכים כעת seqכטיעון של for()לולאה.
  • matrix() ממיר כעת עמודות תווים לגורמים וגורמים למספרים שלמים.
  • skeleton() עכשיו מפרט במפורש את כל הייצוא בקובץ NAMESPACE.
  • היישום הפנימי של יחידות רשת השתנה. האפקטים הגלויים היחידים ברמת המשתמש צריכים להיות תבנית הדפסה שונה במקצת עבור יחידות מסוימות, ביצועים מהירים יותר עבור פעולות היחידה ושתי פונקציות חדשות, unitType()וכן unit.psum().
  • הדפסה methods (..)משתמשת כעת format()בשיטה חדשה .
  • יש להתקין מחדש חבילות תחת הגרסה החדשה של R.
  • גרסה זו של R בנויה כנגד ספריית PCRE2 לביטויים רגילים דמויי Perl אם קיימת.
  • ראשית התמיכה ב- C ++ 20.
  • הזמן הדרוש להפעלת אשכול PSOCK הומוגני ב- localhost עם צמתים רבים צומצם משמעותית.
  • יש גם מספר ירידות ערך. לדוגמה, הפוך את המאקרו F77_VISIBILITY הוסר והוחלף ב- F_VISIBILITY; הוסרה התמיכה המיושנת לציון C ++ 98 להתקנת חבילה; ופונקציות רבות שהסתיימו הוסרו מחבילות הבסיס והשיטות.