आर (प्रोग्रामन भाषा)

**आर** (R) कम्प्यूटर की एक प्रोग्रामन भाषा है जो विशेषत: सांख्यिकी से संबन्धित गणना करने एवं ग्राफ आदि बनाने हेतु उपयोगी है। यह भाषा विश्व के सांख्यिकीविदों में सांख्यिकी से सम्बन्धित सॉफ्ट्वेयरों के निर्माण के लिये मानक भाषा जैसे प्रचलित हो गयी है।

## उदाहरण

### मूलभूत सिन्टैक्स
निम्नलिखित उदाहरण भाषा के मूल वाक्यविन्यास और कमांड-लाइन इंटरफ़ेस के उपयोग को दर्शाते हैं। 

In R, the generally preferred assignment operator is an arrow made from two characters `<-`, although `=` can usually be used instead.

```rout
> x <- 1:6  # Create vector.
> y <- x^2  # Create vector by formula.
> print(y)  # Print the vector’s contents.
[1]  1  4  9 16 25 36

> mean(y)  # Arithmetic mean of vector.
[1] 15.16667

> var(y)  # Sample variance of vector.
[1] 178.9667

> model <- lm(y ~ x)  # Linear regression model y = A + B * x.
> print(model)  # Print the model’s results.

Call:
lm(formula = y ~ x)

Coefficients:
(Intercept)            x  
     -9.333        7.000  

> summary(model)  # Display an in-depth summary of the model.

Call:
lm(formula = y ~ x)

Residuals:
      1       2       3       4       5       6 
 3.3333 -0.6667 -2.6667 -2.6667 -0.6667  3.3333 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)  -9.3333     2.8441  -3.282 0.030453 *  
x             7.0000     0.7303   9.585 0.000662 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 3.055 on 4 degrees of freedom
Multiple R-squared:  0.9583,	Adjusted R-squared:  0.9478 
F-statistic: 91.88 on 1 and 4 DF,  p-value: 0.000662

> par(mfrow = c(2, 2))  # Create a 2 by 2 layout for figures.
> plot(model)  # Output diagnostic plots of the model.
```


Diagnostic plots from plotting “model” (q.v. “plot.lm()” function). Notice the mathematical notation allowed in labels (lower left plot).

### फ्ंक्शन की संरचना
One of R’s strengths is the ease of creating new functions. Objects in the function body remain local to the function, and any data type may be returned.
Here is an example user-created function:

```r
# Declare function “f” with parameters “x”, “y“
# that returns a linear combination of x and y.
f <- function(x, y) {
  z <- 3 * x + 4 * y
  return(z)
}
```


```rout
> f(1, 2)
[1] 11

> f(c(1,2,3), c(5,3,4))
[1] 23 18 25

> f(1:3, 4)
[1] 19 22 25
```


### Mandelbrot set
Short R code calculating Mandelbrot set through the first 20 iterations of equation *z* = *z*2 + *c* plotted for different complex constants *c*. This example demonstrates:

* use of community-developed external libraries (called packages), in this case caTools package
* handling of complex numbers
* multidimensional arrays of numbers used as basic data type, see variables `C`, `Z` and `X`.


```r
install.packages("caTools")  # install external package
library(caTools)             # external package providing write.gif function
jet.colors <- colorRampPalette(c("red", "blue", "#007FFF", "cyan", "#7FFF7F",
                                 "yellow", "#FF7F00", "red", "#7F0000"))
dx <- 1500                    # define width
dy <- 1400                    # define height
C  <- complex(real = rep(seq(-2.2, 1.0, length.out = dx), each = dy),
              imag = rep(seq(-1.2, 1.2, length.out = dy), dx))
C <- matrix(C, dy, dx)       # reshape as square matrix of complex numbers
Z <- 0                       # initialize Z to zero
X <- array(0, c(dy, dx, 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)
```


400px|"Mandelbrot.gif" – graphics created in R with 14 lines of code in Example 2

## बाहरी कड़ियाँ
* The R wiki is a community wiki for R.
* R books has an extensive list (with brief comments) of books related to R.
* The R Graphical Manual provides a collection of R graphics from all R packages, as well as an index to all functions in all R packages.
* The R Wikibook.

## सन्दर्भ

श्रेणी:प्रोग्रामन भाषा
श्रेणी:सांख्यिकी सॉफ्टवेयर