لغة البرمجة R

لغة البرمجة R هي لغة برمجة للحوسبة الإحصائية وتصور البيانات . وقد تم اعتمادها على نطاق واسع في مجالات استخراج البيانات ، والمعلوماتية الحيوية ، وتحليل البيانات ، وعلم البيانات . [ 9 ]

تُوسّع لغة R الأساسية بواسطة عدد كبير من حزم البرامج ، التي تحتوي على شفرة قابلة لإعادة الاستخدام ، ووثائق، وبيانات نموذجية. ومن أشهر حزم R تلك الموجودة في مجموعة tidyverse ، التي تُحسّن وظائف عرض البيانات وتحويلها ونمذجتها، بالإضافة إلى تسهيل البرمجة (وفقًا للمؤلفين والمستخدمين). [ 10 ]

لغة R هي برنامج مجاني ومفتوح المصدر يُوزع بموجب رخصة جنو العمومية العامة . [ 3 ] [ 11 ] تُنفذ اللغة بشكل أساسي بلغات C و Fortran و R نفسها . تتوفر ملفات تنفيذية مُجمّعة مسبقًا لأنظمة التشغيل الرئيسية (بما في ذلك Linux و MacOS و Microsoft Windows ).

جوهرها لغة مُفسَّرة بواجهة سطر أوامر أصلية . إضافةً إلى ذلك، تتوفر العديد من تطبيقات الطرف الثالث كواجهات مستخدم رسومية ؛ تشمل هذه التطبيقات RStudio ( بيئة تطوير متكاملة )، و Jupyter ( واجهة دفتر ملاحظات )، بالإضافة إلى Termux و Google Colab للأجهزة المحمولة. [ 12 ]

تاريخ

المؤسسون المشاركون للغة R

بدأ البروفيسوران روس إيهاكا وروبرت جنتلمان تطوير لغة البرمجة R لتدريس الإحصاء التمهيدي في جامعة أوكلاند . [ 13 ] استُلهمت اللغة من لغة البرمجة S ، حيث يمكن تشغيل معظم برامج S دون تغيير في R. [ 6 ] كما استُلهمت اللغة من نطاق المفردات في لغة Scheme ، مما يسمح باستخدام المتغيرات المحلية . [ 1 ]

اسم اللغة، R، مشتق من كونها امتدادًا للغة S، ومن الحرف الأول المشترك بين مؤلفيها، روس وروبرت. [ 14 ] في أغسطس 1993، نشر إيهاكا وجنتلمان ملفًا ثنائيًا للغة R على موقع StatLib، وهو موقع إلكتروني لأرشفة البيانات. [ 15 ] وفي الوقت نفسه، أعلنا عن النشر على القائمة البريدية s-news . [ 16 ] في 5 ديسمبر 1997، أصبحت R مشروعًا تابعًا لمشروع جنو عند إصدار النسخة 0.60. [ 17 ] في 29 فبراير 2000، تم إصدار النسخة 1.0. [ 18 ]

الطرود

انظر إلى التعليق
رسم بياني على شكل كمان تم إنشاؤه باستخدام حزمة ggplot2 في لغة البرمجة R لعرض البيانات بصريًا

تُعدّ حزم R مجموعات من الدوال والوثائق والبيانات التي تُوسّع نطاق لغة R. [ 19 ] على سبيل المثال، يُمكن للحزم إضافة ميزات إعداد التقارير (باستخدام حزم مثل R Markdown وQuarto [ 20 ] و knitr و Sweave ) ودعم تقنيات إحصائية متنوعة (مثل النمذجة الخطية ، والنمذجة الخطية المعممة ، والنمذجة غير الخطية ، والاختبارات الإحصائية الكلاسيكية ، والتحليل المكاني ، وتحليل السلاسل الزمنية ، والتجميع ). وقد ساهمت سهولة تثبيت الحزم واستخدامها في انتشار اللغة في مجال علم البيانات . [ 21 ]

تتوفر الحزم الأساسية فورًا عند بدء تشغيل R بعد التثبيت، وتوفر البنية الأساسية والأوامر اللازمة للبرمجة والحوسبة وإنتاج الرسومات والحسابات الأساسية والوظائف الإحصائية. [ 22 ]

ومن الأمثلة على ذلك مجموعة حزم tidyverse في لغة R، والتي تجمع عدة حزم فرعية لتوفير واجهة برمجة تطبيقات مشتركة. تتخصص هذه المجموعة في المهام المتعلقة بالوصول إلى " البيانات المنظمة " ومعالجتها ، [ 23 ] وهي بيانات موجودة في جدول ثنائي الأبعاد، حيث يمثل كل صف ملاحظة ، ويمثل كل عمود متغير. [ 24 ]

يتم تثبيت الحزمة مرة واحدة فقط. على سبيل المثال، لتثبيت مجموعة tidyverse: [ 24 ]

> install.packages ( "tidyverse" )

لتحميل الدوال والبيانات والوثائق الخاصة بحزمة ما، يتم استدعاء الدالة library(). لتحميل مجموعة tidyverse، يمكن تنفيذ الكود التالي: [ أ ]

> # يمكن وضع اسم الحزمة بين علامتي اقتباس > library ( "tidyverse" )> # ولكن يمكن أيضًا استخدام اسم الحزمة بدون علامات اقتباس > library ( tidyverse )

تأسست شبكة أرشيف لغة R الشاملة (CRAN) عام 1997 على يد كورت هورنيك وفريدريش لايش لاستضافة شفرة المصدر ، والملفات التنفيذية، والوثائق، والحزم البرمجية التي أنشأها المستخدمون. [ 25 ] يُحاكي اسم CRAN ونطاقها شبكة أرشيف TeX الشاملة (CTAN) وشبكة أرشيف Perl الشاملة (CPAN). [ 25 ] في البداية، لم يكن لدى CRAN سوى ثلاثة مواقع مرآة واثنتي عشرة حزمة برمجية مُساهم بها. [ 26 ] اعتبارًا من 30 يونيو 2025  يحتوي على 90 مرآة [ 27 ] و22390 حزمة برمجية مُساهمة. [ 28 ] كما تتوفر الحزم في مستودعات مثل R-Forge وOmegahat و GitHub . [ 29 ] [ 30 ] [ 31 ]

لتوفير التوجيه على موقع CRAN الإلكتروني، تسرد منطقة Task Views الخاصة به الحزم ذات الصلة بمواضيع محددة؛ وتشمل أمثلة المواضيع الاستدلال السببي ، والتمويل ، وعلم الوراثة ، والحوسبة عالية الأداء ، والتعلم الآلي ، والتصوير الطبي ، والتحليل التلوي ، والعلوم الاجتماعية ، والإحصاء المكاني .

يوفر مشروع Bioconductor حزمًا لتحليل البيانات الجينومية ، والحمض النووي التكميلي ، والمصفوفات الدقيقة ، وطرق التسلسل عالية الإنتاجية .

مجتمع

يُعد اتحاد R أحد المجموعات الرئيسية الثلاث التي تدعم لغة R.

هناك ثلاث مجموعات رئيسية تساعد في دعم تطوير برمجيات R:

مجلة R هي مجلة أكاديمية مفتوحة الوصول تعرض مقالات قصيرة إلى متوسطة الطول حول استخدام وتطوير لغة R. تتضمن المجلة مقالات عن الحزم البرمجية، ونصائح البرمجة، وأخبار CRAN، وأخبار المؤسسة.

يُعد مؤتمر UseR! أحد الأماكن التي يمكن لمجتمع لغة R أن يجتمع فيها.

يستضيف مجتمع لغة البرمجة R العديد من المؤتمرات واللقاءات الشخصية. [ ب ] تشمل هذه المجموعات ما يلي:

على مواقع التواصل الاجتماعي مثل تويتر، #rstatsيمكن استخدام الهاشتاج لمتابعة التطورات الجديدة في مجتمع R. [ 33 ]

أمثلة

مرحبا بالعالم!

فيما يلي برنامج "مرحباً بالعالم!" :

> print ( "Hello, World!" ) [1] "Hello, World!"

إليك نسخة بديلة تستخدم cat()الدالة التالية:

> cat ( "Hello, World!" ) Hello, World!

بناء الجملة الأساسي

توضح الأمثلة التالية البنية الأساسية للغة واستخدام واجهة سطر الأوامر. [ ج ]

في لغة R، يُفضل عمومًا استخدام عامل التعيين المكون من سهم مكون من حرفين <-، على الرغم من =إمكانية استخدامه في بعض الحالات. [ 34 ]

> x <- 1 : 6 # إنشاء متجه عددي في البيئة الحالية > y <- x ^ 2 # وبالمثل، إنشاء متجه بناءً على القيم الموجودة في x. > y # طباعة محتويات المتجه. [1] 1 4 9 16 25 36> z <- x + y # إنشاء متجه جديد يمثل مجموع x و y > z # إعادة محتويات z إلى البيئة الحالية. [1] 2 6 12 20 30 42> z_matrix <- matrix ( z , nrow = 3 ) # إنشاء مصفوفة جديدة تحوّل  # المتجه z إلى كائن مصفوفة 3×2 > z_matrix  [,1] [,2] [1,] 2 20 [2,] 6 30 [3,] 12 42> 2 * t ( z_matrix ) - 2 # انقل المصفوفة؛ اضرب كل عنصر في 2؛  # اطرح 2 من كل عنصر في المصفوفة؛ و  # ثم أعد النتائج إلى الطرفية.  [,1] [,2] [,3] [1,] 2 10 22 [2,] 38 58 82# إنشاء كائن إطار بيانات جديد يحتوي على البيانات من مصفوفة z_matrix منقولة، مع تسمية الصفوف 'A' و'B' > new_df <- data.frame ( t ( z_matrix ), row.names = c ( "A" , "B" )) > names ( new_df ) <- c ( "X" , "Y" , "Z" ) # تعيين أسماء أعمدة إطار البيانات new_df كـ X وY وZ. > new_df # طباعة النتائج الحالية.  XYZ A 2 6 12 B 20 30 42> new_df $ Z # إخراج عمود Z [1] 12 42> new_df $ Z == new_df [ 'Z' ] && new_df [ 3 ] == new_df $ Z # يمكن الوصول إلى عمود Z في إطار البيانات باستخدام الصيغة $Z أو ['Z'] أو [3]، والقيم متطابقة. [1] صحيح> attributes ( new_df ) # طباعة معلومات حول سمات إطار البيانات new_df $names [1] "X" "Y" "Z"$row.names [1] "A" "B"$class [1] "data.frame"> attributes ( new_df ) $ row.names <- c ( "one" , "two" ) # الوصول إلى السمة row.names ثم تغييرها؛ يمكن القيام بذلك أيضًا باستخدام الدالة rownames() > new_df  XYZ one 2 6 12 two 20 30 42

بنية الدالة

تتيح لغة R إنشاء دوال تُضيف وظائف جديدة وتُمكّن من إعادة استخدام الكود. [ 35 ] تظل الكائنات المُنشأة داخل جسم الدالة (المُحاطة بأقواس معقوفة) قابلة للوصول إليها فقط من داخل الدالة، ويمكن إرجاع أي نوع من البيانات . في لغة R، تُعتبر جميع الدوال تقريبًا، بما في ذلك الدوال المُعرّفة من قِبل المستخدم، دوالًا مغلقة . [ 36 ]

فيما يلي مثال على إنشاء دالة لإجراء عملية حسابية:

# مُدخلات الدالة هي x و y. # الدالة، المسماة f، تُرجع توليفة خطية من x و y. f <- function ( x , y ) { z <- 3 * x + 4 * y# عبارة return() الصريحة اختيارية - يمكن استبدالها ببساطة بـ `z` في هذه الحالة. return ( z ) }# كبديل، يتم إرجاع آخر عبارة تم تنفيذها في الدالة ضمنيًا. f <- function ( x , y ) 3 * x + 4 * y

فيما يلي بعض النتائج الناتجة عن استخدام الدالة المحددة أعلاه:

> f ( 1 , 2 ) # 3 * 1 + 4 * 2 = 3 + 8 [1] 11> f ( c ( 1 , 2 , 3 ), c ​​( 5 , 3 , 4 )) # حساب عنصر بعنصر [1] 23 18 25> f ( 1 : 3 , 4 ) # مكافئ لـ f(c(1, 2, 3), c(4, 4, 4)) [1] 19 22 25

من الممكن تعريف الدوال التي سيتم استخدامها كعوامل وسطية باستخدام الصيغة الخاصة `%name%`، حيث يكون "name" هو اسم متغير الدالة:

> `%sumx2y2%` <- الدالة ( e1 , e2 ) { e1 ^ 2 + e2 ^ 2 } > 1 : 3 %sumx2y2% - ( 1 : 3 ) [1] 2 8 18

منذ إصدار R 4.1.0، يمكن كتابة الدوال بصيغة مختصرة (مستوحاة من حساب التفاضل والتكامل لامدا )، وهو أمر مفيد لتمرير الدوال المجهولة إلى الدوال ذات الرتبة الأعلى: [ 37 ]

> sapply ( 1 : 5 , \ ( i ) i ^ 2 ) # هنا \(i) هي نفسها function(i) [1] 1 4 9 16 25

مشغل أنابيب أصلي

في الإصدار 4.1.0 من لغة R، تم تقديم عامل ربط أصلي ، [ 38 ] يسمح هذا العامل للمستخدمين بربط الدوال معًا، بدلاً من استخدام استدعاءات الدوال المتداخلة.|>

> nrow ( subset ( mtcars , cyl == 4 )) # متداخل بدون رمز الأنبوب [1] 11> mtcars |> subset ( cyl == 4 ) |> nrow () # استخدام رمز الأنبوب [1] 11

يُعد استخدام الكائنات الوسيطة بديلاً عن استخدام الدوال المتداخلة، بدلاً من عامل الأنبوب (pipe operator):

> mtcars_subset_rows <- subset ( mtcars , cyl == 4 ) > num_mtcars_subset <- nrow ( mtcars_subset_rows ) > print ( num_mtcars_subset ) [1] 11

على الرغم من أن عامل الربط (pipe operator) يمكن أن ينتج عنه كود أسهل في القراءة، إلا أن مبرمجي لغة R المؤثرين مثل هادلي ويكهام يقترحون ربط ما لا يزيد عن 10-15 سطرًا من الكود باستخدام هذا العامل وحفظها في كائنات ذات أسماء ذات دلالة لتجنب تشويش الكود . [ 39 ]

البرمجة الكائنية التوجه

تدعم لغة R البرمجة كائنية التوجه بشكلٍ أصيل . يوجد إطاران أصليان ، يُعرفان بنظامي S3 وS4. الأول، وهو أقل رسمية، يدعم الإرسال الأحادي للوسيط الأول، ويتم إسناد الكائنات إلى فئة ببساطة عن طريق تعيين سمة "class" في كل كائن. أما الثاني فهو نظام مشابه لنظام كائنات Common Lisp (CLOS) ، مع فئات رسمية (مشتقة أيضًا من S ) وأساليب عامة، ويدعم الإرسال المتعدد والوراثة المتعددة [ 40 ].

في المثال أدناه، summary()هي دالة عامة تقوم بتوجيه الطلبات إلى طرق مختلفة اعتمادًا على ما إذا كانت وسيطتها عبارة عن متجه عددي أو عامل :

> data <- c ( "a" , "b" , "c" , "a" , NA ) > summary ( data )  Length Class Mode  5 character character > summary ( as.factor ( data ))  abc NA's  2 1 1 1

النمذجة والرسم

مخططات تشخيصية للنموذج من مثال الكود في قسم "النمذجة والرسم" (انظر الدالة plot.lm()). يُسمح باستخدام الرموز الرياضية في التسميات، كما هو موضح في المخطط السفلي الأيسر.

تدعم لغة R نمذجة البيانات والرسومات البيانية بشكلٍ مدمج. يوضح المثال التالي كيفية قيام R بإنشاء ورسم نموذج خطي مع البواقي.

# إنشاء قيم x و y x <- 1 : 6 y <- x ^ 2# نموذج الانحدار الخطي: y = A + B * x model <- lm ( y ~ x )# عرض ملخص مفصل لملخص النموذج ( model )# إنشاء تخطيط 2×2 للأرقام par ( mfrow = c ( 2 , 2 ))# إخراج مخططات التشخيص الخاصة بمخطط النموذج ( النموذج )

يكون ناتج الدالة summary()في كتلة التعليمات البرمجية السابقة كما يلي:

البواقي:  1 2 3 4 5 6 7 8 9 10 3.3333 -0.6667 -2.6667 -2.6667 -0.6667 3.3333المعاملات:  التقدير، الخطأ المعياري، قيمة t، Pr(>|t|) (الحد الثابت) -9.3333 2.8441 -3.282 0.030453 * x 7.0000 0.7303 9.585 0.000662 *** --- رموز الدلالة: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1الخطأ المعياري المتبقي: 3.055 على 4 درجات حرية، معامل التحديد المتعدد (R²): 0.9583، معامل التحديد المعدل (R²): 0.9478، إحصائية F: 91.88 على 1 و4 درجات حرية، قيمة p: 0.000662

مجموعة ماندلبروت

مجموعة ماندلبروت كما تم تصورها في R. (ملاحظة: تختلف الألوان في هذه الصورة عن مخرجات نموذج التعليمات البرمجية في قسم "مجموعة ماندلبروت".)

يُبرز هذا المثال لمجموعة ماندلبروت استخدام الأعداد المركبة . وهو يُمثل أول 20 تكرارًا للمعادلة ، حيث تُمثل ثوابت مركبة مختلفة .z = z2 + cc

لتشغيل نموذج التعليمات البرمجية هذا، من الضروري أولاً تثبيت الحزمة التي توفر write.gif()الوظيفة:

install.packages ( "caTools" )

الكود النموذجي كالتالي:

library ( caTools )jet.colors <- colorRampPalette ( c ( "green" , "pink" , "#007FFF" , "cyan" , "#7FFF7F" , "white" , "#FF7F00" , "red" , "#7F0000" ))dx <- 1500 حدد العرض dy <- 1400 حدد الارتفاعC <- complex ( real = rep ( seq ( -2.2 , 1.0 , length.out = dx ), each = dy ), imag = rep ( seq ( -1.2 , 1.2 , length.out = dy ), times = dx ) )# إعادة تشكيل المصفوفة إلى مصفوفة من الأعداد المركبة C <- matrix ( C , dy , dx )# تهيئة مصفوفة الإخراج ثلاثية الأبعاد X <- array ( 0 , c ( dy , dx , 20 ))Z <- 0# حلقة تكرارية من 20 تكرارًا لـ ( k في 1 : 20 ) {# معادلة الفرق المركزي Z <- Z ^ 2 + C# التقاط النتائج X [, , k ] <- exp ( - abs ( Z )) }write.gif ( X , "Mandelbrot.gif" , col = jet.colors , delay = 100 )

أسماء الإصدارات

قرص مضغوط عليه توقيعات
قرص مضغوط يحتوي على برنامج R الإصدار 1.0.0، موقع من قبل الفريق الأساسي لبرنامج R، تم تصويره في مدينة كيبيك عام 2019

جميع إصدارات برنامج R بدءًا من الإصدار 2.14.0 فصاعدًا تحمل أسماءً رمزية تشير إلى قصص وأفلام Peanuts المصورة. [ 41 ] [ 42 ] [ 43 ]

في عام 2018، قدم بيتر دالغارد، المطور الرئيسي للغة R ، تاريخ إصدارات R منذ عام 1997. [ 44 ] تتضمن بعض الإصدارات المبكرة البارزة قبل الإصدارات المذكورة ما يلي:

  • الإصدار 1.0.0، صدر في 29 فبراير 2000، وهو يوم كبيس.
  • الإصدار 2.0.0، الذي صدر في 4 أكتوبر 2004، "والذي كان له على الأقل رنين جميل" [ 44 ]

استُلهمت فكرة تسمية إصدارات لغة البرمجة R من نظام تسمية إصدارات Debian و Ubuntu . وأشار دالغارد إلى سبب إضافي لاستخدام إشارات إلى شخصيات Peanuts في أسماء R الرمزية، وهو الملاحظة الفكاهية القائلة بأن "كل من يعمل في مجال الإحصاء هو من محبي Peanuts ". [ 44 ]

واجهات

يتم تثبيت R افتراضيًا مع وحدة تحكم سطر الأوامر ، ولكن هناك طرق متعددة للتفاعل مع اللغة:

تتضمن الأطر الإحصائية التي تستخدم لغة R في الخلفية Jamovi و JASP .

التطبيقات

تم كتابة تطبيق R الرئيسي بشكل أساسي بلغات C و Fortran و R نفسها . وتشمل التطبيقات الأخرى ما يلي:

كانت Microsoft R Open (MRO) تطبيقًا للغة R. اعتبارًا من 30 يونيو 2021، بدأت مايكروسوفت بالتخلي تدريجيًا عن MRO لصالح توزيعة CRAN. [ 50 ]

الدعم التجاري

على الرغم من أن R مشروع مفتوح المصدر ، إلا أن بعض الشركات تقدم دعماً تجارياً:

انظر أيضاً

ملحوظات

  1. يعرض هذا الكود قائمة بجميع الحزم التي تعتمد عليها مجموعة tidyverse في الخطأ القياسي . وقد يعرض الكود أيضًا تحذيرات تشير إلى تعارضات في مساحات الأسماء، والتي يمكن تجاهلها عادةً.
  2. تتوفر معلومات حول المؤتمرات والاجتماعات في قائمة يديرها المجتمع على GitHub ، jumpingrivers.github.io/meetingsR/
  3. ↑ يمكن الاطلاع على قائمة موسعة بميزات اللغة القياسية في الدليل "مقدمة إلى لغة R " ، cran.r-project.org/doc/manuals/R-intro.pdf

مراجع

  1. 1 2 3 موراندا، فرانسيس؛ هيل، براندون؛ أوزفالد، ليو؛ فيتيك، جان (11 يونيو 2012). "تقييم تصميم لغة R: الكائنات والدوال لتحليل البيانات" . المؤتمر الأوروبي للبرمجة كائنية التوجه . 2012 : 104-131 . doi : 10.1007/978-3-642-31057-7_6 . تم الاطلاع عليه في 17 مايو 2016 - عبر SpringerLink.
  2. بيتر دالغارد (24 يونيو 2026). " تم إصدار [ Rd ] R 4.6.1" . تم الاطلاع عليه بتاريخ 29 يونيو 2026 .
  3. 1 2 "دليل البرمجيات الحرة R" . directory.fsf.org . تم الاطلاع عليه بتاريخ 26 يناير 2024 .
  4. "برامج R النصية" . mercury.webster.edu . تم الاطلاع عليه بتاريخ 17 يوليو 2021 .
  5. "عائلة تنسيقات بيانات R (.rdata، .rda)" . Loc.gov . 9 يونيو 2017. تم الاطلاع عليه في 17 يوليو 2021 .
  6. ١ ٢ هورنيك، كورت؛ فريق R الأساسي (١٢ أبريل ٢٠٢٢). "أسئلة وأجوبة حول R" . شبكة أرشيف R الشاملة . ٣.٣ ما هي الاختلافات بين R و S؟ مؤرشف من الأصل في ٢٨ ديسمبر ٢٠٢٢. تم الاسترجاع في ٢٧ ديسمبر ٢٠٢٢ .
  7. "مقدمة" . دليل جوليا . مؤرشف من الأصل في 20 يونيو 2018. تم الاطلاع عليه في 5 أغسطس 2018 .
  8. "مقارنة مع R" . pandas البدء . تم الاسترجاع في 15 يوليو 2024 .
  9. جورجي، فيديريكو م.؛ سيراولو، كارمين؛ ميركاتيلي، دانييلي (27 أبريل 2022). "لغة R: محرك لعلم المعلوماتية الحيوية وعلوم البيانات" . مجلة لايف . 12 (5): 648. Bibcode : 2022Life...12..648G . doi : 10.3390/life12050648 . PMC 9148156. PMID 35629316 .  
  10. "الصفحة الرئيسية - RDocumentation" . www.rdocumentation.org . تم الاطلاع عليه بتاريخ 13 يونيو 2025 .
  11. "R: ما هو R؟" . www.r-project.org . تم الاطلاع عليه بتاريخ 10 مايو 2025 .
  12. إيهاكا، روس. " مشروع R: تاريخ موجز وأفكار حول المستقبل" (ملف PDF) . ص 12. مؤرشف (ملف PDF) من الأصل في 28 ديسمبر 2022. تم الاطلاع عليه في 27 ديسمبر 2022. وضعنا هدفًا يتمثل في تطوير لغة كافية لتدريس دورات الإحصاء التمهيدية في أوكلاند. 
  13. هورنيك، كورت؛ فريق R الأساسي (12 أبريل 2022). "أسئلة وأجوبة حول R" . شبكة أرشيف R الشاملة . 2.13 ما هي مؤسسة R؟ مؤرشف من الأصل في 28 ديسمبر 2022. تم الاسترجاع في 28 ديسمبر 2022 .
  14. "فهرس /مجموعات البيانات" . lib.stat.cmu.edu . تم الاطلاع عليه في 5 سبتمبر 2024 .
  15. إيهاكا، روس. "R: التاريخ الماضي والمستقبلي" (ملف PDF) . ص 4. مؤرشف (ملف PDF) من الأصل بتاريخ 28 ديسمبر 2022. تم الاطلاع عليه بتاريخ 28 ديسمبر 2022 . 
  16. إيهاكا، روس (5 ديسمبر 1997). "إصدار جديد من لغة R لنظام يونكس" . stat.ethz.ch. مؤرشف من الأصل في 12 فبراير 2023. تم الاطلاع عليه في 12 فبراير 2023 .
  17. إيهاكا، روس. "مشروع R: تاريخ موجز وأفكار حول المستقبل" (ملف PDF) . ص 18. مؤرشف (ملف PDF) من الأصل في 28 ديسمبر 2022. تم الاطلاع عليه في 27 ديسمبر 2022 . 
  18. ويكهام، هادلي؛ سيتينكايا-روندل، ماين؛ غروليموند، غاريت (2023). لغة R لعلوم البيانات، الطبعة الثانية . أورايلي . ص. xvii. ISBN  978-1-492-09740-2.
  19. "Quarto" . Quarto . تم ​​الاطلاع عليه في 5 سبتمبر 2024 .
  20. تشامبرز، جون م. (2020). "S، R، وعلم البيانات" . مجلة R. 12 ( 1): 462-476 . doi : 10.32614/RJ-2020-028 . ISSN 2073-4859 . تلعب لغة R والبرامج ذات الصلة دورًا رئيسيًا في الحوسبة لعلم البيانات. ... توفر حزم R أدوات لمجموعة واسعة من الأغراض والمستخدمين. 
  21. ديفيز، تيلمان م. (2016). "تثبيت لغة R والحزم المساهمة". كتاب R: دورة تمهيدية في البرمجة والإحصاء . سان فرانسيسكو، كاليفورنيا: دار نشر نو ستارش. ص 739. ISBN  9781593276515.
  22. ويكهام، هادلي (2014). "البيانات المنظمة" ( ملف PDF ). مجلة البرمجيات الإحصائية . 59 (10). doi :10.18637/jss.v059.i10.
  23. 1 2 ويكهام، هادلي؛ سيتينكايا-روندل، ماين؛ غروليموند، غاريت (2023). لغة R لعلوم البيانات، الطبعة الثانية . أورايلي . ISBN 978-1-492-09740-2.
  24. هورنيك ، كورت (2012). "شبكة أرشيف R الشاملة" . إحصاءات WIRE الحاسوبية . 4 (4): 394-398 . doi : 10.1002 /wics.1212 . ISSN 1939-5108 . S2CID 62231320 .  
  25. ^ كيرت هورنيك (23 أبريل 1997). "أعلن: كران" . ص مساعدة . ويكي بيانات Q101068595 . .
  26. "حالة مرايا CRAN" . cran.r-project.org . تم الاطلاع عليه بتاريخ 16 أكتوبر 2024 .
  27. "CRAN - الحزم المساهمة" . cran.r-project.org . تم الاطلاع عليه بتاريخ 16 أكتوبر 2024 .
  28. "R-Forge: مرحباً" . r-forge.r-project.org . تم الاطلاع عليه بتاريخ 5 سبتمبر 2024 .
  29. "مشروع أوميغا للحوسبة الإحصائية" . www.omegahat.net . تم الاطلاع عليه بتاريخ 5 سبتمبر 2024 .
  30. "بناء برامج أفضل، معًا" . جيت هاب . تم الاطلاع عليه في 5 سبتمبر 2024 .
  31. «إحصائي من جامعة أكسفورد يحصل على جائزة روسيو بقيمة مليون دولار أمريكي مناصفةً عن مشروع R» . www.mpls.ox.ac.uk. تاريخ الاطلاع: 2 يوليو 2026 .
  32. ويكهام، هادلي؛ غروليموند، غاريت (يناير 2017). 1 مقدمة | لغة R لعلوم البيانات ( الطبعة الأولى). دار نشر أورايلي ميديا . رقم ISBN  978-1491910399.
  33. فريق تطوير لغة R الأساسي. "المهام باستخدام عامل =" . تم الاطلاع عليه بتاريخ 11 سبتمبر 2018 .
  34. كاباكوف، روبرت (2012). "Quick-R: الدوال المعرفة من قبل المستخدم" . statmethods.net . تم الاطلاع عليه بتاريخ 28 سبتمبر 2018 .
  35. ويكهام، هادلي. "لغة R المتقدمة - البرمجة الوظيفية - الإغلاقات" . adv-r.had.co.nz .
  36. "أخبار" . r-project.org .
  37. "R: أخبار R" . cran.r-project.org . تم الاطلاع عليه بتاريخ 14 مارس 2024 .
  38. ويكهام، هادلي؛ جيتينكايا-روندل، مين؛ غروليموند، غاريت (2023). "4 سير العمل: أسلوب البرمجة" . لغة R لعلوم البيانات: استيراد البيانات، وتنظيمها، وتحويلها، وتصورها، ونمذجتها ( الطبعة الثانية). بكين؛ سيباستوبول، كاليفورنيا: أورايلي. ISBN  978-1-4920-9740-2. OCLC 1390607935 . 
  39. "أساليب الفئة" . تم الاطلاع عليه بتاريخ 25 أبريل 2024 .
  40. مونكمان، مارتن. الفصل 5 أسماء إصدارات R | علم البيانات باستخدام R: مجموعة موارد .
  41. ماكجوان، لوسي داغوستينو (28 سبتمبر 2017). "أسماء إصدارات R" . livefreeordichotomize.com . تم الاطلاع عليه في 7 أبريل 2024 .
  42. r-hub/rversions ، مشروع R-hub التابع لاتحاد R، 29 فبراير 2024 ، تم الاطلاع عليه في 7 أبريل 2024
  43. 1 2 3 دالغارد، بيتر (15 يوليو 2018). "ماذا يعني الاسم؟ 20 عامًا من إدارة إصدارات لغة R" (فيديو) . يوتيوب . تم الاطلاع عليه في 9 أبريل 2024 .
  44. "R لنظام macOS" . cran.r-project.org . تم الاطلاع عليه بتاريخ 5 سبتمبر 2024 .
  45. "بيئة تطوير متكاملة من شركة Positron PBC، مبتكري RStudio | Positron - الصفحة الرئيسية" . Positron . تم الاطلاع عليه بتاريخ 24 سبتمبر 2025 .
  46. ^ "IDE/Editor para Linguagem R | Tinn-R - الصفحة الرئيسية" . Tinn-R (باللغة البرتغالية البرازيلية) . تم الاسترجاع في 5 سبتمبر 2024 .
  47. تالبوت، جاستن؛ ديفيتو، زاكاري؛ هانراهان، بات (1 يناير 2012). "ريبست: مُصرّف قائم على التتبع وآلة افتراضية متوازية لرمز المتجهات في لغة R". وقائع المؤتمر الدولي الحادي والعشرين حول البنى المتوازية وتقنيات التجميع . ACM. الصفحات 43-52 . doi : 10.1145/2370816.2370825 . ISBN  9781450311823. S2CID 1989369 . 
  48. جاكسون، جواب (16 مايو 2013). شركة TIBCO تقدم برنامج R مجاناً للمؤسسات . مجلة PC World . تم الاطلاع عليه بتاريخ 20 يوليو 2015.
  49. "نظرة مستقبلية على لغة R في Azure SQL و SQL Server" . 30 يونيو 2021. تم الاطلاع عليه بتاريخ 7 نوفمبر 2021 .

للمزيد من القراءة