**R**، یک زبان برنامه‌نویسی و محیط نرم‌افزاری برای محاسبات آماری و علم داده‌ها است، که بر اساس زبان‌های اس و اسکیم پیاده‌سازی شده‌است. این نرم‌افزار متن باز، تحت اجازه‌نامه عمومی همگانی گنو عرضه شده و به رایگان قابل دسترس است. کاربران بسته (Package) های زیادی را برای افزودن توابع متنوع به این زبان به وجود آورده اند. 

زبان اس بجز R، توسط شرکت Insightful، در نرم‌افزار تجاری اس‌پلاس نیز پیاده‌سازی شده‌است. اگرچه دستورها اس‌پلاس و R بسیار شبیه است لیکن این دو نرم‌افزار دارای هسته‌های متمایزی می‌باشند.

نویسندگان
---------

نرم‌افزار R برای اولین بار به عنوان یک پروژه تحقیقاتی توسط راس ایهاکا (Ross Ihaka) و رابرت جنتلمن (Robert Gentleman) نوشته شد، و در حال حاضر توسط گروهی از متخصصان علم آمار به نام «تیم هسته نرم‌افزار R» با صفحه‌ای در آدرس www.r-project.org در حال توسعهٔ فعال می‌باشد.

ویژگی‌ها
--------

R، حاوی محدودهٔ گسترده‌ای از تکنیک‌های آماری (از جمله: مدل‌سازی خطی و غیرخطی، آزمون‌های کلاسیک آماری، تحلیل سری‌های زمانی، رده‌بندی، خوشه‌بندی و غیره) و قابلیت‌های گرافیکی است. در محیط R، کدهای ویژوال بیسیک، سی، سی++ و فورترن قابلیت اتصال و فراخوانی هنگام اجرای برنامه را دارند و کاربران خبره می‌توانند توسط کدهای سی، مستقیماً اشیا R را تغییر دهند.

نمونه‌ای از نمودارهای تولید شده توسط آر.
گرچه نرم‌افزار R اغلب به منظور انجام محاسبات آماری به کار می‌رود، این نرم‌افزار قابل به‌کارگیری در محاسبات ماتریسی است و در این زمینه، همپای نرم‌افزارهایی چون آکتیو و نسخهٔ تجاری آن متلب (MATLAB) است.

R، همچنین نرم‌افزار قدرتمندی برای ایجاد اشکال گرافیکی و نمودارهاست.

بسته‌ها
-------

امکان توسعهٔ قابلیت‌های R، با افزودن بسته‌های ایجاد شده توسط کاربران آن، یکی از ویژگی‌های مهم این نرم‌افزار است. این بسته‌ها توسط R، LaTeX، جاوا، سی++ و فورترن نوشته شده‌اند.
برای کمتر کردن حجم نرم‌افزار بخاطر سهولت دریافت آن، مجموعه‌ای از بسته‌های اصلی R، هنگام نصب همراه برنامه وجود دارند، کاربران می‌توانند در صورت نیاز به برنامه‌ای خاص، بسته مربوط را نصب و از آن استفاده نمایند. در مجموع ۴۴۴۲ بسته (تا آوریل ۲۰۱۳) در شبکهٔ بایگانی فراگیر آر (CRAN) وجود دارد. این بسته‌ها طیف وسیعی از قابلیت‌ها را در زمینه‌های مختلف تحلیل داده‌ها به R می‌دهند.

انجمن ها
--------

R، انجمن هایی محلی در سراسر جهان برای برنامه نویس ها دارد که با هم در ارتباط باشند، ایده هایشان را در میان بگذارند و از هم یاد بگیرند.
برنامه‌ها و جلسات فزاینده‌ای در جریانند که برنامه نویس‌های R را گرد هم می‌آورند، مانند کنفرانس‌ها (به عنوان مثال useR!, WhyR?, conectaR, SatRdays)، گردهم‌آیی ها و گرو ه‌های دختران برنامه نویس R که تنوع جنسیتی را ارج می‌نهد.

ابزار جانبی
-----------

R، دارای محیط خط فرمان برای ورود و اجرای دستورها است. ابزار مختلفی جهت تسهیل ویرایش دستورها و ارتباط با کاربر برای R ساخته شده‌است، که برخی از آن‌ها در فهرست زیر آمده‌اند:

* JGR: ویرایشگر چندسکویی بر پایهٔ جاوا.
* R Commander: رابط گرافیکی بر پایهٔ tcltk، دارای قابلیت استفاده از منوها به جای نوشتن دستورها (مناسب برای کاربران مبتدی و آشنا با اس‌پلاس)
* آراکسل RExcel: امکان استفاده از R و R Commander در برنامهٔ مایکروسافت مایکروسافت اکسل
* rggobi: رابط برنامهٔ GGobi برای به تصویر کشیدن داده‌های ماتریسی

مثال
----

کد کوتاهی که با زبان آر نوشته شده برای مجموعه مندلبرو که ۲۰ تکرار از z = z² + c را با ضابط‌های پیچیده متفاوت نمایش می‌دهد.

```
library(caTools) # external package providing write.gif function
jet.colors <- colorRampPalette(c("#00007F", "blue", "#007FFF", "cyan", "#7FFF7F",
                                 "yellow", "#FF7F00", "red", "#7F0000"))
m <- 1200 # define size
C <- complex(real=rep(seq(-1.8,0.6, length.out=m), each=m),
              imag=rep(seq(-1.2,1.2, length.out=m), m))
C <- matrix(C,m,m) # reshape as square matrix of complex numbers
Z <- 0 # initialize Z to zero
X <- array(0, c(m,m,20)) # initialize output 3D array
for (k in 1:20) { # loop with 20 iterations
  Z <- Z^2+C             # the central difference equation
  X[,,k] <- exp(-abs(Z)) # capture results
}
write.gif(X, "Mandelbrot.gif", col=jet.colors, delay=100)
```

تصویر مندلبرو با ۱۲ خط کد زبان آر

جستارهای وابسته
---------------

* آمار
* یادگیری ماشینی
* علم داده‌ها
* آراکسل

پانویس
------

1. ↑  Morandat, Frances; Hill, Brandon; Osvald, Leo; Vitek, Jan (June 11, 2012). "Evaluating the design of the R language: objects and functions for data analysis". *European Conference on Object-Oriented Programming*. **2012**: 104–131. doi:10.1007/978-3-642-31057-7\_6. Retrieved 2016-05-17 – via SpringerLink.
2. ↑  "R 4.3.2 is released" (به زبان انگلیسی). 31 اکتبر 2023. Retrieved 2 November 2023.`{{cite web}}`: نگهداری یادکرد:زبان ناشناخته (link)
3. ↑  "R scripts". *mercury.webster.edu*. Retrieved 2021-07-17.
4. ↑  "R Data Format Family (.rdata, .rda)". *www.loc.gov*. 2017-06-09. Retrieved 2021-07-17.
5. ↑  Khomtchouk, Bohdan B.; Weitz, Edmund; Karp, Peter D.; Wahlestedt, Claes (2016-12-31). "How the strengths of Lisp-family languages facilitate building complex and flexible bioinformatics applications". *Briefings in Bioinformatics* (به انگلیسی). **19** (3): 537–543. doi:10.1093/bib/bbw130. ISSN 1467-5463. PMC 5952920. PMID 28040748.
6. ↑  "Introduction". *The Julia Manual*. Archived from the original on 20 June 2018. Retrieved 5 August 2018.
7. ↑  «"Speed comparison of various number crunching packages (version 2)". SciView. Retrieved on 2007-11-03». بایگانی‌شده از اصلی در ۸ اوت ۲۰۰۹. دریافت‌شده در ۱۹ ژوئیه ۲۰۰۹.
8. ↑  "CRAN package repository". Retrieved on 2013-04-10.
9. ↑  "Local R User Group Directory". *Revolutions Blog*. Retrieved 12 May 2018.
10. ↑  *A list of R conferences and meetings*. *Jumping Rivers*. Retrieved 12 May 2018.
11. ↑  "official website of WhyR? conference". *WhyR?*. Retrieved 26 June 2019.
12. ↑  "SatRdays listing". *SatRdays*. Retrieved 26 June 2019.
13. ↑  "R Project for Statistical Computing". *Meetup*. Retrieved 12 May 2018.
14. ↑  "R Ladies". *R Ladies*. Retrieved 12 May 2018.

پیوند به بیرون
--------------

|  |  |
| --- | --- |
|  | در ویکی‌انبار پرونده‌هایی دربارهٔ آر (زبان برنامه‌نویسی) موجود است. |

* R-project.org (وبگاه رسمی پروژه آر)
* RSeek - (موتور جستجوی اختصاصی زبان آر)
* Quick-R (توضیح توابع آماری پرکاربرد در آر)
* (دربارهٔ زبان R)

### منابع فارسی از وبگاه‌رسمی آر

* آشنایی با زبان آر به فارسی دانشگاه صنعت آب و برق
* آشنایی با زبان آر به فارسی دانشگاه امیرکبیر

| داده‌های کتابخانه‌ای ویرایش در ویکی‌داده |
| --- |
| عمومی | 
* ویاف
	+ 1
* ورلدکت (از طریق ویاف)

 |
| کتابخانه‌های ملی | 
* فرانسه (داده‌ها)
* آلمان
* اسرائیل
* ایالات متحده آمریکا
* جمهوری چک

 |
| سایر | 
* سوداک (فرانسه)
	+ 1

 |