ಆರ್(R) ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆ

300px|thumb|right|ಆರ್(R)
**ಆರ್(R)** ಎಂಬುದು ಸಂಖ್ಯಾಶಾಸ್ತ್ರೀಯ ಕಂಪ್ಯೂಟಿಂಗ್ ಮತ್ತು ಡೇಟಾ ದೃಶ್ಯೀಕರಣಕ್ಕಾಗಿ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಯಾಗಿದೆ. ದತ್ತಾಂಶ ಗಣಿಗಾರಿಕೆ, ಜೈವಿಕ ಮಾಹಿತಿಶಾಸ್ತ್ರ ಮತ್ತು ದತ್ತಾಂಶ ವಿಶ್ಲೇಷಣೆಯ ಕ್ಷೇತ್ರಗಳಲ್ಲಿ ಇದನ್ನು ಅಳವಡಿಸಿಕೊಳ್ಳಲಾಗಿದೆ.

ಕೋರ್ ಆರ್ ಭಾಷೆಯನ್ನು ಮರುಬಳಕೆ ಮಾಡಬಹುದಾದ ಕೋಡ್, ದಾಖಲಾತಿ ಮತ್ತು ಮಾದರಿ ಡೇಟಾವನ್ನು ಒಳಗೊಂಡಿರುವ ಹೆಚ್ಚಿನ ಸಂಖ್ಯೆಯ ವಿಸ್ತರಣೆ ಪ್ಯಾಕೇಜ್‌ಗಳಿಂದ ವರ್ಧಿಸಲಾಗಿದೆ.

ಆರ್ ಸಾಫ್ಟ್ವೇರ್ ಮುಕ್ತ ಮೂಲ(ಓಪನ್ ಸೋರ್ಸ್) ಮತ್ತು ಉಚಿತ ಸಾಫ್ಟ್ವೇರ್ ಆಗಿದೆ. ಇದು ಜಿಎನ್‌ಯು(GNU) ಪ್ರಾಜೆಕ್ಟ್‌ನಿಂದ ಪರವಾನಗಿ ಪಡೆದಿದೆ ಮತ್ತು ಜಿಎನ್‌ಯು(GNU) ಜನರಲ್ ಪಬ್ಲಿಕ್ ಲೈಸೆನ್ಸ್‌ನ ಅಡಿಯಲ್ಲಿ ಲಭ್ಯವಿದೆ. ಇದನ್ನು ಪ್ರಾಥಮಿಕವಾಗಿ ಸಿ(C), ಫೋರ್ಟ್ರಾನ್(Fortran) ಮತ್ತು ಆರ್(R) ಭಾಷೆಗಳಲ್ಲಿ ಬರೆಯಲಾಗಿದೆ. ವಿವಿಧ ಕಾರ್ಯಾಚರಣಾ ವ್ಯವಸ್ಥೆಗಳಿಗೆ ಪೂರ್ವಸಂಯೋಜಿತ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಗಳನ್ನು ಒದಗಿಸಲಾಗಿದೆ.

ವ್ಯಾಖ್ಯಾನಿಸಲಾದ ಭಾಷೆಯಾಗಿ, ಆರ್ ಸ್ಥಳೀಯ ಕಮಾಂಡ್ ಲೈನ್ ಇಂಟರ್ಫೇಸ್ ಅನ್ನು ಹೊಂದಿದೆ. ಇದಲ್ಲದೆ, ಆರ್ ಸ್ಟುಡಿಯೋ(RStudio)-ಒಂದು ಸಮಗ್ರ ಅಭಿವೃದ್ಧಿ ಪರಿಸರ-ಮತ್ತು ಜುಪಿಟರ್(Jupyter)-ಒಂದು ನೋಟ್‌ಬುಕ್ ಇಂಟರ್‌ಫೇಸ್‌ನಂತಹ ಅನೇಕ ತೃತೀಯ ಚಿತ್ರಾತ್ಮಕ ಬಳಕೆದಾರ ಇಂಟರ್‌ಫೇಸ್‌ಗಳು ಲಭ್ಯವಿವೆ.

## ಇತಿಹಾಸ
ಆಕ್ಲೆಂಡ್ ವಿಶ್ವವಿದ್ಯಾಲಯ ಪರಿಚಯಾತ್ಮಕ ಅಂಕಿಅಂಶಗಳನ್ನು ಕಲಿಸಲು ಪ್ರೊಫೆಸರ್ಗಳಾದ ರಾಸ್ ಇಹಾಕಾ ಮತ್ತು ರಾಬರ್ಟ್ ಜಂಟಲ್ಮನ್ ಅವರು ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಯಾಗಿ ಆರ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸಿದರು. ಈ ಭಾಷೆಯು ಎಸ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಯಿಂದ ಸ್ಫೂರ್ತಿ ಪಡೆದಿದ್ದು, ಹೆಚ್ಚಿನ ಎಸ್ ಪ್ರೋಗ್ರಾಂಗಳು ಆರ್ ನಲ್ಲಿ ಬದಲಾಗದೆ ಕಾರ್ಯನಿರ್ವಹಿಸಲು ಸಾಧ್ಯವಾಯಿತು. ಈ ಭಾಷೆಯು ಸ್ಥಳೀಯ ಅಸ್ಥಿರಗಳಿಗೆ ಅವಕಾಶ ಮಾಡಿಕೊಡುವ ಯೋಜನೆಯ ಲೆಕ್ಸಿಕಲ್ ಸ್ಕೋಪಿಂಗ್‍‌ನಿಂದಲೂ ಸ್ಫೂರ್ತಿ ಪಡೆದಿದೆ.

ಆರ್ ಭಾಷೆಯ ಹೆಸರು, ಎಸ್ ಭಾಷೆಯ ಉತ್ತರಾಧಿಕಾರಿ ಮತ್ತು ಲೇಖಕರ ಹಂಚಿಕೆಯ ಮೊದಲ ಅಕ್ಷರ, ರಾಸ್ ಮತ್ತು ರಾಬರ್ಟ್ ಎರಡರಿಂದಲೂ ಬರುತ್ತದೆ. ೧೯೯೩ ರ ಆಗಸ್ಟ್‌ನಲ್ಲಿ, ಇಹಾಕಾ ಮತ್ತು ಜಂಟಲ್ಮ್ಯಾನ್‌ರವರು ಸ್ಟಾಟ್‌ಲಿಬ್ ಎಂಬ ದತ್ತಾಂಶ ಅರ್ಚಿವ್ ಜಾಲತಾಣದಲ್ಲಿ- ಆರ್ ನ ಬೈನರಿ ಅನ್ನು ಪೋಸ್ಟ್ ಮಾಡಿದರು. ಅದೇ ಸಮಯದಲ್ಲಿ, ಅವರು ಎಸ್-ನ್ಯೂಸ್ ಮೇಲಿಂಗ್ ಪಟ್ಟಿಯಲ್ಲಿ ಪೋಸ್ಟ್ ಮಾಡುವುದನ್ನು ಘೋಷಿಸಿದರು. ಡಿಸೆಂಬರ್ ೫, ೧೯೯೭ ರಂದು, ಆವೃತ್ತಿ ೦.೬ ಬಿಡುಗಡೆಯಾದಾಗ ಆರ್(R) ಒಂದು ಜಿಎನ್‌ಯು(GNU) ಯೋಜನೆಯಾಗಿ ಮಾರ್ಪಟ್ಟಿತು. ಫೆಬ್ರವರಿ ೨೯, ೨೦೦೦ ರಂದು, ಮೊದಲ ಅಧಿಕೃತ ಆವೃತ್ತಿಯನ್ನು ಬಿಡುಗಡೆ ಮಾಡಲಾಯಿತು.

ಸಮಗ್ರ ಆರ್ ಆರ್ಕೈವ್ ನೆಟ್‌ವರ್ಕ್ (CRAN) ಅನ್ನು ೧೯೯೭ ರಲ್ಲಿ ಕರ್ಟ್ ಹಾರ್ನಿಕ್ ಮತ್ತು ಫ್ರಿಟ್ಜ್ ಲೀಷ್ ಅವರು ಆರ್ ನ ಮೂಲ ಕೋಡ್, ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಫೈಲ್‌ಗಳು, ದಾಖಲಾತಿಗಳು ಮತ್ತು ಬಳಕೆದಾರ-ರಚಿಸಿದ ಪ್ಯಾಕೇಜುಗಳಿಗೆ ಸ್ಥಾಪಿಸಲ್ಪಟ್ಟಿತು. ಇದರ ಹೆಸರು ಮತ್ತು ವ್ಯಾಪ್ತಿ ಸಮಗ್ರ ಟೆಕ್ಸ್ ಆರ್ಕೈವ್ ನೆಟ್‌ವರ್ಕ್ ಮತ್ತು ಸಮಗ್ರ ಪರ್ಲ್ ಆರ್ಕೈವ್ ನೆಟ್‌ವರ್ಕ್ ಅನ್ನು ಅನುಕರಿಸುತ್ತದೆ. ಸಿಆರ್‌ಎ‌ಎನ್(CRAN) ಮೂಲತಃ ಮೂರು ಕನ್ನಡಿಗಳು ಮತ್ತು ೧೨ ಕೊಡುಗೆ ಪ್ಯಾಕೇಜ್‌ಗಳನ್ನು ಹೊಂದಿತ್ತು. ಡಿಸೆಂಬರ್ ೨೦೨೨ ರ ಹೊತ್ತಿಗೆ, ಇದು ೧೦೩ ಕನ್ನಡಿಗಳು  ಮತ್ತು ೧೮,೯೭೬ ಕೊಡುಗೆ ಪ್ಯಾಕೇಜ್‌ಗಳನ್ನು ಹೊಂದಿದೆ.

೧೯೯೭ ರಲ್ಲಿ ಆರ್ ಕೋರ್ ಟೀಮ್ ಅನ್ನು ರಚಿಸಲಾಯಿತು. ಇದು ಭಾಷೆಯನ್ನು ಮತ್ತಷ್ಟು ಅಭಿವೃದ್ಧಿಪಡಿಸುತ್ತದೆ. ೨೦೨೨ ರ ಜನವರಿಯ ಹೊತ್ತಿಗೆ ಚೇಂಬರ್ಸ್, ಜಂಟಲ್‌ಮ್ಯಾನ್, ಇಹಾಕಾ ಮತ್ತು ಮ್ಯಾಚ್ಲರ್, ಜೊತೆಗೆ ಸಂಖ್ಯಾಶಾಸ್ತ್ರಜ್ಞರಾದ ಡೌಗ್ಲಾಸ್ ಬೇಟ್ಸ್, ಪೀಟರ್ ಡಾಲ್ಗಾರ್ಡ್, ಕರ್ಟ್ ಹಾರ್ನಿಕ್, ಮೈಕೆಲ್ ಲಾರೆನ್ಸ್, ಫ್ರೆಡ್ರಿಕ್ ಲೀಶ್, ಉವೆ ಲಿಗ್ಗೆಸ್, ಥಾಮಸ್ ಲುಮ್ಲಿ, ಸೆಬಾಸ್ಟಿಯನ್ ಮೆಯೆರ್, ಪಾಲ್ ಮರ್ರೆಲ್, ಮಾರ್ಟಿನ್ ಪ್ಲಮ್ಮರ್, ಬ್ರಿಯಾನ್  ರಿಪ್ಲೀ, ದೀಪಯನ್ ಸರ್ಕಾರ್,ಡಂಕನ್ ಟೆಂಪಲ್ ಲ್ಯಾಂಗ್, ಲ್ಯೂಕ್ ಟೈರ್ನಿ ಮತ್ತು ಸೈಮನ್ ಅರ್ಬನೆಕ್, ಹಾಗೆಯೇ ಕಂಪ್ಯೂಟರ್ ವಿಜ್ಞಾನಿ ತೋಮಸ್ ಕಲಿಬೆರಾ, ಸ್ಟೆಫಾನೊ ಐಕಸ್, ಗೈಡೊ ಮಸರೊಟ್ಟೊ, ಹೈನರ್ ಶ್ವಾರ್ಟೆ, ಸೇಥ್ ಫಾಲ್ಕನ್, ಮಾರ್ಟಿನ್ ಮೋರ್ಗನ್ ಮತ್ತು ಡಂಕನ್ ಮುರ್ಡೋಕ್ ಸದಸ್ಯರಾಗಿದ್ದರು. ಏಪ್ರಿಲ್ ೨೦೦೩ ರಲ್ಲಿ, ಆರ್  ಯೋಜನೆಗೆ ಹೆಚ್ಚಿನ ಬೆಂಬಲವನ್ನು ಒದಗಿಸಲು ಆರ್  ಫೌಂಡೇಶನ್ ಅನ್ನು ಲಾಭರಹಿತ ಸಂಸ್ಥೆಯಾಗಿ ಸ್ಥಾಪಿಸಲಾಯಿತು.

## ವೈಶಿಷ್ಟ್ಯಗಳು
**ಮಾಹಿತಿ ಸಂಸ್ಕರಣೆ**

ಆರ್  ನ ದತ್ತಾಂಶ ರಚನೆಗಳು ವೆಕ್ಟರ್‌ಗಳು, ಅರೇಗಳು, ಪಟ್ಟಿಗಳು ಮತ್ತು ಡೇಟಾ ಫ್ರೇಮ್‌ಗಳನ್ನು ಒಳಗೊಂಡಿವೆ. ವೆಕ್ಟರ್‌ಗಳು ಮೌಲ್ಯಗಳ ಸಂಗ್ರಹಣೆಗಳಾಗಿವೆ ಮತ್ತು ಕಾಲಮ್ ಪ್ರಮುಖ ಕ್ರಮದಲ್ಲಿ ಒಂದು ಅಥವಾ ಹೆಚ್ಚಿನ ಆಯಾಮಗಳ ಸರಣಿಗಳಿಗೆ ಮ್ಯಾಪ್ ಮಾಡಬಹುದು. ಅಂದರೆ, ಆಯಾಮಗಳ ಆದೇಶದ ಸಂಗ್ರಹವನ್ನು ನೀಡಿದರೆ, ಒಬ್ಬರು ಮೊದಲು ಮೊದಲ ಆಯಾಮದ ಉದ್ದಕ್ಕೂ ಮೌಲ್ಯಗಳನ್ನು ತುಂಬುತ್ತಾರೆ. ನಂತರ ಎರಡನೇ ಆಯಾಮದಾದ್ಯಂತ ಏಕ-ಆಯಾಮದ ಸರಣಿಗಳನ್ನು ತುಂಬುತ್ತಾರೆ, ಮತ್ತು ಹೀಗೆ. ಆರ್ ಅರೇ ಅಂಕಗಣಿತವನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ ಮತ್ತು ಈ ನಿಟ್ಟಿನಲ್ಲಿ ಎಪಿಎಲ್(APL) ಮತ್ತು ಎಮ್‌ಎಟಿಎಲ್‌ಎಬಿ(MATLAB)ನಂತಹ ಭಾಷೆಗಳಂತೆ ಇದೆ. ಎರಡು ಆಯಾಮಗಳನ್ನು ಹೊಂದಿರುವ ರಚನೆಯ ವಿಶೇಷ ಪ್ರಕರಣವನ್ನು ಮ್ಯಾಟ್ರಿಕ್ಸ್ ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ. ಪಟ್ಟಿಗಳು ಒಂದೇ ರೀತಿಯ ಡೇಟಾ ಪ್ರಕಾರವನ್ನು ಹೊಂದಿರದ ವಸ್ತುಗಳ ಸಂಗ್ರಹಗಳಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ. ಡೇಟಾ ಫ್ರೇಮ್‌ಗಳು ಒಂದೇ ಉದ್ದದ ವೆಕ್ಟರ್‌ಗಳ ಪಟ್ಟಿಯನ್ನು ಒಳಗೊಂಡಿರುತ್ತವೆ. ಜೊತೆಗೆ ಸಾಲು ಹೆಸರುಗಳ ಅನನ್ಯ ಗುಂಪನ್ನು ಹೊಂದಿರುತ್ತವೆ. ಆರ್ ಯಾವುದೇ ಸ್ಕೇಲಾರ್ ಡೇಟಾ ಪ್ರಕಾರವನ್ನು ಹೊಂದಿಲ್ಲ. ಬದಲಾಗಿ, ಸ್ಕೇಲಾರ್ ಅನ್ನು ಉದ್ದ-ಒಂದು ವೆಕ್ಟರ್ ಆಗಿ ಪ್ರತಿನಿಧಿಸಲಾಗುತ್ತದೆ.

ಆರ್ ಮತ್ತು ಅದರ ಗ್ರಂಥಾಲಯಗಳು ರೇಖೀಯ, ಸಾಮಾನ್ಯೀಕರಿಸಿದ ರೇಖಾತ್ಮಕ ಮತ್ತು ರೇಖಾತ್ಮಕವಲ್ಲದ ಮಾಡೆಲಿಂಗ್, ಶಾಸ್ತ್ರೀಯ ಸಂಖ್ಯಾಶಾಸ್ತ್ರೀಯ ಪರೀಕ್ಷೆಗಳು, ಪ್ರಾದೇಶಿಕ ಮತ್ತು ಸಮಯ-ಸರಣಿ ವಿಶ್ಲೇಷಣೆ, ವರ್ಗೀಕರಣ, ಕ್ಲಸ್ಟರಿಂಗ್ ಮತ್ತು ಇತರವುಗಳನ್ನು ಒಳಗೊಂಡಂತೆ ವಿವಿಧ ಸಂಖ್ಯಾಶಾಸ್ತ್ರೀಯ ತಂತ್ರಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತವೆ. ಗಣನಾತ್ಮಕವಾಗಿ ತೀವ್ರವಾಗಿರುವ ಕಾರ್ಯಗಳಿಗಾಗಿ ಸಿ(C), ಸಿ++(C++), ಮತ್ತು ಫೋರ್ಟ್ರಾನ್(Fortran) ಕೋಡ್ ಅನ್ನು ಲಿಂಕ್ ಮಾಡಬಹುದು ಮತ್ತು ರನ್ ಟೈಮ್ ನಲ್ಲಿ ಕರೆಯಬಹುದು. ಆರ್ ನ ಮತ್ತೊಂದು ಸಾಮರ್ಥ್ಯವು ಸ್ಥಿರ ಗ್ರಾಫಿಕ್ಸ್ ಆಗಿದೆ; ಇದು ಗಣಿತದ ಚಿಹ್ನೆಗಳನ್ನು ಒಳಗೊಂಡಿರುವ ಪ್ರಕಟಣೆ-ಗುಣಮಟ್ಟದ ಗ್ರಾಫ್‌ಗಳನ್ನು ಉತ್ಪಾದಿಸಬಹುದು.

## ಪ್ರೋಗ್ರಾಮಿಂಗ್
ಆರ್ ಒಂದು ವ್ಯಾಖ್ಯಾನಿತ ಭಾಷೆ; ಬಳಕೆದಾರರು ಕಮಾಂಡ್-ಲೈನ್ ಇಂಟರ್ಪ್ರಿಟರ್ ಮೂಲಕ ಅದನ್ನು ಪ್ರವೇಶಿಸಬಹುದು. ಬಳಕೆದಾರರು ಆರ್ ಕಮಾಂಡ್ ಪ್ರಾಂಪ್ಟಿನಲ್ಲಿ ೨+೨ ಟೈಪ್ ಮಾಡಿ ಎಂಟರ್ ಒತ್ತಿದರೆ, ಕಂಪ್ಯೂಟರ್ ೪ ನೊಂದಿಗೆ ಪ್ರತ್ಯುತ್ತರಿಸುತ್ತದೆ.

ಆರ್ ಕಾರ್ಯಗಳೊಂದಿಗೆ ಕಾರ್ಯವಿಧಾನದ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಅನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ ಮತ್ತು ಕೆಲವು ಕಾರ್ಯಗಳಿಗಾಗಿ, ಜೆನೆರಿಕ್ ಫಂಕ್ಷನ್‌ಗಳೊಂದಿಗೆ ಆಬ್ಜೆಕ್ಟ್-ಓರಿಯೆಂಟೆಡ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಅನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ. ಅದರ ಎಸ್(S) ಪರಂಪರೆಯ ಕಾರಣದಿಂದಾಗಿ, ಆರ್ ಹೆಚ್ಚಿನ ಸಂಖ್ಯಾಶಾಸ್ತ್ರೀಯ ಕಂಪ್ಯೂಟಿಂಗ್ ಭಾಷೆಗಳಿಗಿಂತ ಬಲವಾದ ವಸ್ತು-ಆಧಾರಿತ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಸೌಲಭ್ಯಗಳನ್ನು ಹೊಂದಿದೆ. ಅದನ್ನು ವಿಸ್ತರಿಸುವುದನ್ನು ಅದರ ಲೆಕ್ಸಿಕಲ್ ಸ್ಕೋಪಿಂಗ್ ನಿಯಮಗಳಿಂದ ಸುಗಮಗೊಳಿಸಲಾಗಿದೆ. ಇವುಗಳನ್ನು ಸ್ಕೀಮ್‌ನಿಂದ ಪಡೆಯಲಾಗಿದೆ. ಡೇಟಾ ಮತ್ತು ಕೋಡ್ ಎರಡನ್ನೂ ಪ್ರತಿನಿಧಿಸಲು, ಆರ್, ಎಸ್ ಸಿಂಟ್ಯಾಕ್ಸ್ ಅನ್ನು ಬಳಸುತ್ತದೆ (ಎಸ್- ಅಭಿವ್ಯಕ್ತಿಗಳೊಂದಿಗೆ ಗೊಂದಲಕ್ಕೀಡಾಗಬಾರದು). ಸುಧಾರಿತ ಬಳಕೆದಾರರು ಆರ್ ವಸ್ತುಗಳನ್ನು ನೇರವಾಗಿ ಕುಶಲಗೊಳಿಸಲು ಸಿ(C), ಸಿ++(C++), ಜಾವಾ(Java), .ನೆಟ್(.NET) ಅಥವಾ ಪೈಥಾನ್(Python) ಕೋಡ್ ಅನ್ನು ಬರೆಯಬಹುದು.

ಕಾರ್ಯಗಳು ಫಸ್ಟ್-ಕ್ಲಾಸ್ ಆಬ್ಜೆಕ್ಟ್‌ಗಳಾಗಿವೆ ಮತ್ತು ಡೇಟಾ ಆಬ್ಜೆಕ್ಟ್‌ಗಳಂತೆಯೇ ಕುಶಲತೆಯಿಂದ ನಿರ್ವಹಿಸಲ್ಪಡಬಹುದು. ಇದು ಬಹು ರವಾನೆಗೆ ಅನುಮತಿಸುವ ಮೆಟಾ-ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಅನ್ನು ಸುಗಮಗೊಳಿಸುತ್ತದೆ. ಒಂದು ಜೆನೆರಿಕ್ ಫಂಕ್ಷನ್ ಅದಕ್ಕೆ ರವಾನಿಸಲಾದ ವಾದಗಳ ವರ್ಗಗಳನ್ನು ಅವಲಂಬಿಸಿ ವಿಭಿನ್ನವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ. ಬೇರೆ ರೀತಿಯಲ್ಲಿ ಹೇಳುವುದಾದರೆ, ಸಾಮಾನ್ಯ ಕಾರ್ಯವು ಆ ವಸ್ತುವಿನ ವರ್ಗಕ್ಕೆ ನಿರ್ದಿಷ್ಟವಾದ ವಿಧಾನದ ಅನುಷ್ಠಾನವನ್ನು ರವಾನಿಸುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ಆರ್ ಜೆನೆರಿಕ್, ಪ್ರಿಂಟ್(print) ಫಂಕ್ಷನ್ ಅನ್ನು ಹೊಂದಿದ್ದು ಅದು ಆರ್‌ನಲ್ಲಿನ ಪ್ರತಿಯೊಂದು ವರ್ಗದ ವಸ್ತುವನ್ನು print(objectname) ನೊಂದಿಗೆ ಮುದ್ರಿಸಬಹುದು. ನಿರ್ದಿಷ್ಟ ಕಾರ್ಯಗಳು ಮತ್ತು ನಿರ್ದಿಷ್ಟ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಗಾಗಿ ಪ್ಯಾಕೇಜ್‌ಗಳ ಬಳಕೆಯ ಮೂಲಕ ಆರ್ ಹೆಚ್ಚು ವಿಸ್ತರಿಸಬಹುದಾಗಿದೆ.

## ಪ್ಯಾಕೇಜುಗಳು
ಆರ್ ಪ್ಯಾಕೇಜುಗಳು ಕಾರ್ಯಗಳು, ದಾಖಲಾತಿಗಳು ಮತ್ತು ಆರ್ ಅನ್ನು ವಿಸ್ತರಿಸುವ ದತ್ತಾಂಶಗಳ ಸಂಗ್ರಹಗಳಾಗಿವೆ. ಉದಾಹರಣೆಗೆ, ಪ್ಯಾಕೇಜುಗಳು RMarkdown, Quarto, knitr ಮತ್ತು Sweave ನಂತಹ ವರದಿ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಸೇರಿಸುತ್ತವೆ. ಪ್ಯಾಕೇಜುಗಳು ರೇಖೀಯ, ಸಾಮಾನ್ಯೀಕೃತ ರೇಖೀಯ ಮತ್ತು ರೇಖಾತ್ಮಕವಲ್ಲದ ಮಾದರಿ, ಶಾಸ್ತ್ರೀಯ ಸಂಖ್ಯಾಶಾಸ್ತ್ರೀಯ ಪರೀಕ್ಷೆಗಳು, ಪ್ರಾದೇಶಿಕ ವಿಶ್ಲೇಷಣೆ, ಸಮಯ-ಸರಣಿ ವಿಶ್ಲೇಷಣೆ ಮತ್ತು ಕ್ಲಸ್ಟರಿಂಗ್‌ನಂತಹ ವಿವಿಧ ಸಂಖ್ಯಾಶಾಸ್ತ್ರೀಯ ತಂತ್ರಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಸಹ ಸೇರಿಸುತ್ತವೆ. ಸುಲಭವಾದ ಪ್ಯಾಕೇಜ್ ಸ್ಥಾಪನೆ ಮತ್ತು ಬಳಕೆಯು ದತ್ತಾಂಶ ವಿಜ್ಞಾನದಲ್ಲಿ ಭಾಷೆಯ ಅಳವಡಿಕೆಗೆ ಕೊಡುಗೆ ನೀಡಿದೆ.

ಆರ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸುವಾಗ ಮೂಲ ಪ್ಯಾಕೇಜುಗಳು ತಕ್ಷಣವೇ ಲಭ್ಯವಿರುತ್ತವೆ ಮತ್ತು ಪ್ರೋಗ್ರಾಮಿಂಗ್, ಕಂಪ್ಯೂಟಿಂಗ್, ಗ್ರಾಫಿಕ್ಸ್ ಉತ್ಪಾದನೆ, ಮೂಲ ಅಂಕಗಣಿತ ಮತ್ತು ಸಂಖ್ಯಾಶಾಸ್ತ್ರೀಯ ಕಾರ್ಯಚಟುವಟಿಕೆಗಳಿಗೆ ಅಗತ್ಯವಾದ ವಾಕ್ಯರಚನೆಯನ್ನು ಮತ್ತು ಆಜ್ಞೆಗಳನ್ನು ಒದಗಿಸುತ್ತವೆ.

ಸಮಗ್ರ ಆರ್ ಆರ್ಕೈವ್ ನೆಟ್‌ವರ್ಕ್(CRAN) ಅನ್ನು ೧೯೯೭ ರಲ್ಲಿ ಕರ್ಟ್ ಹಾರ್ನಿಕ್ ಮತ್ತು ಫ್ರೆಡೆರಿಕ್ ಲೀಷ್ ಅವರು ಆರ್ ನ ಮೂಲ ಕೋಡ್, ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಫೈಲ್‌ಗಳು, ದಸ್ತಾವೇಜನ್ನು ಮತ್ತು ಬಳಕೆದಾರ-ರಚಿಸಿದ ಪ್ಯಾಕೇಜ್‌ಗಳನ್ನು ಹೋಸ್ಟ್ ಮಾಡಲು ಸ್ಥಾಪಿಸಿದರು. ಇದರ ಹೆಸರು ಮತ್ತು ವ್ಯಾಪ್ತಿ ಸಮಗ್ರ ಟೆಕ್ಸ್ ಅರ್ಚಿವ್ ನೆಟ್‌ವರ್ಕ್ ಮತ್ತು ಸಮಗ್ರ ಪರ್ಲ್ ಅರ್ಚಿವ್ ನೆಟ್‌ವರ್ಕ್ ಅನ್ನು ಅನುಕರಿಸುತ್ತದೆ. ಸಿಆರ್‌ಎ‌ಎನ್(CRAN) ಮೂಲತಃ ಮೂರು ಕನ್ನಡಿಗಳು ಮತ್ತು ೧೨ ಕೊಡುಗೆ ಪ್ಯಾಕೇಜ್‌ಗಳನ್ನು ಹೊಂದಿತ್ತು. ೧೬ ಅಕ್ಟೋಬರ್ ೨೦೨೪ ರಂತೆ, ಇದು ೯೯ ಕನ್ನಡಿಗಳು ಮತ್ತು ೨೧,೫೧೩ ಕೊಡುಗೆ ಪ್ಯಾಕೇಜುಗಳನ್ನು ಹೊಂದಿದೆ. ಪ್ಯಾಕೇಜುಗಳು ರೆಪೊಸಿಟರಿಗಳಾದ ಆರ್-ಫೋರ್ಜ್(R-Forge), ಒಮೆಗಹಟ್(Omegahat), ಮತ್ತು ಗಿಟ್‌ಹಬ್(GitHub) ನಲ್ಲಿ ಲಭ್ಯವಿದೆ.

ಸಿಆರ್‌ಎಎನ್(CRAN) ವೆಬ್‌ಸೈಟ್‌ನಲ್ಲಿನ ಕಾರ್ಯ ವೀಕ್ಷಣೆಗಳು ಹಣಕಾಸು, ತಳಿಶಾಸ್ತ್ರ, ಉನ್ನತ-ಕಾರ್ಯಕ್ಷಮತೆಯ ಕಂಪ್ಯೂಟಿಂಗ್, ಯಂತ್ರ ಕಲಿಕೆ, ವೈದ್ಯಕೀಯ ಚಿತ್ರಣ, ಮೆಟಾ-ವಿಶ್ಲೇಷಣೆ, ಸಾಮಾಜಿಕ ವಿಜ್ಞಾನಗಳು ಮತ್ತು ಪ್ರಾದೇಶಿಕ ಅಂಕಿಅಂಶಗಳಂತಹ ಕ್ಷೇತ್ರಗಳಲ್ಲಿನ ಪ್ಯಾಕೇಜ್‌ಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡುತ್ತವೆ.

ಬಯೋಕಂಡಕ್ಟರ್ ಪ್ರಾಜೆಕ್ಟ್ ಜೀನೋಮಿಕ್ ಡೇಟಾ ವಿಶ್ಲೇಷಣೆ, ಪೂರಕ ಡಿಎನ್‌ಎ, ಮೈಕ್ರೋಅರೇಗಳು ಮತ್ತು ಹೈ-ಥ್ರೂಪುಟ್ ಸೀಕ್ವೆನ್ಸಿಂಗ್ ವಿಧಾನಗಳಿಗಾಗಿ ಪ್ಯಾಕೇಜ್‌ಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ.

ಅಚ್ಚುಕಟ್ಟಾದ ಪ್ಯಾಕೇಜ್ "ಅಚ್ಚುಕಟ್ಟಾದ ಡೇಟಾ" ಅನ್ನು ಪ್ರವೇಶಿಸಲು ಮತ್ತು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲು ಸಂಬಂಧಿಸಿದ ಕಾರ್ಯಗಳಿಗೆ ಸಾಮಾನ್ಯ ಇಂಟರ್ಫೇಸ್ ಅನ್ನು ಒದಗಿಸುವ ಹಲವಾರು ಅಂಗಸಂಸ್ಥೆ ಪ್ಯಾಕೇಜ್‌ಗಳನ್ನು ಬಂಡಲ್ ಮಾಡುತ್ತದೆ. ದತ್ತಾಂಶವು ಎರಡು ಆಯಾಮದ ಕೋಷ್ಟಕದಲ್ಲಿ ಪ್ರತಿ ವೀಕ್ಷಣೆಗೆ ಒಂದೇ ಸಾಲು ಮತ್ತು ಪ್ರತಿ ವೇರಿಯಬಲ್‌ಗೆ ಒಂದೇ ಕಾಲಮ್ ಹೊಂದಿದೆ.

ಆರ್ ಭಾಷೆಯ "ಉಪಭಾಷೆ" ಎಂದು ಪರಿಗಣಿಸಬಹುದಾದ ಟೈಡಿವರ್ಸ್ ಎಂಬ ಪ್ಯಾಕೇಜುಗಳ ಗುಂಪು ಡೆವಲಪರ್‌ಗಳಲ್ಲಿ ಹೆಚ್ಚು ಜನಪ್ರಿಯವಾಗಿದೆ. ದತ್ತಾಂಶ(ಡೇಟಾ) ಆಮದು, ಶುಚಿಗೊಳಿಸುವಿಕೆ, ರೂಪಾಂತರ ಮತ್ತು ದೃಶ್ಯೀಕರಣ(ಮುಖ್ಯವಾಗಿ ggplot2 ಪ್ಯಾಕೇಜ್‌ನೊಂದಿಗೆ) ಸೇರಿದಂತೆ ಸಾಮಾನ್ಯ ದತ್ತಾಂಶ ವಿಜ್ಞಾನ ಕಾರ್ಯಗಳನ್ನು ನಿಭಾಯಿಸಲು ಕಾರ್ಯಗಳ ಸುಸಂಬದ್ಧ ಸಂಗ್ರಹವನ್ನು ಒದಗಿಸಲು ಇದು ಶ್ರಮಿಸುತ್ತದೆ. ಹೆಚ್ಚುವರಿ ಪ್ಯಾಕೇಜುಗಳ ಮೂಲಕ ಡೈನಾಮಿಕ್ ಮತ್ತು ಸಂವಾದಾತ್ಮಕ ಗ್ರಾಫಿಕ್ಸ್ ಲಭ್ಯವಿದೆ.

ಪ್ಯಾಕೇಜ್ ಅನ್ನು ಒಮ್ಮೆ ಮಾತ್ರ ಸ್ಥಾಪಿಸಲಾಗುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ಅಚ್ಚುಕಟ್ಟಾದ ಪ್ಯಾಕೇಜ್ ಅನ್ನು ಸ್ಥಾಪಿಸಲುಃ

```rout
> install.packages("tidyverse")
```

ಪ್ಯಾಕೇಜ್‌ನ ಕಾರ್ಯಗಳು, ಡೇಟಾ ಮತ್ತು ದಾಖಲಾತಿಗಳನ್ನು ಲೋಡ್ ಮಾಡಲು, ಒಬ್ಬರು `library()` ಕಾರ್ಯವನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತಾರೆ. tidyverse ಅನ್ನು ಲೋಡ್ ಮಾಡಲು:

```rout
> # Package name can be enclosed in quotes
> library("tidyverse")

> # But also the package name can be called without quotes
> library(tidyverse)
```

ಸ್ಕಾಲ(Scala), ಜಾವಾ(Java), ಪೈಥಾನ್(Python), ಎಸ್‌ಕ್ಯೂ‌ಎಲ್(SQL) ಜೊತೆಗೆ ಆರ್(R) ಭಾಷೆಯು, ಅಪಾಕಿ ಸ್ಪಾರ್ಕ್ ಎಪಿಐ(Apache Spark API)ಅನ್ನು ಹೊಂದಿರುವ ಐದು ಪ್ರೊಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳಲ್ಲಿ ಒಂದಾಗಿದೆ.

## ಇಂಟರ್ಫೇಸ್‌ಗಳು
ಆರ್ ಕಮಾಂಡ್ ಲೈನ್ ಕನ್ಸೋಲ್‌ನೊಂದಿಗೆ ಸ್ಥಾಪಿಸಲಾಗಿದೆ. ಇಂಟಿಗ್ರೇಟೆಡ್ ಡೆವಲಪ್‌ಮೆಂಟ್ ಎನ್ವಿರೋನ್‌ಮೆಂಟ್ಸ್ (ಐಡಿಇ) ಅನುಸ್ಥಾಪನೆಗೆ ಲಭ್ಯವಿದೆ. ಐಡಿಇ ಗಳು ಆರ್‌(R)ಗಾಗಿ R.app (OSX/macOS ಮಾತ್ರ) ರಾಟಲ್ ಜಿಯುಐ(GUI), ಆರ್ ಕಮಾಂಡರ್, ಆರ್‌ಕೆವಾರ್ಡ್(RKWard), ಆರ್‌ಸ್ಟುಡಿಯೋ(RStudio), ಮತ್ತು ಟಿನ್-ಆರ್(Tinn-R) ಅನ್ನು ಒಳಗೊಂಡಿದೆ.
ಹಿನ್ನೆಲೆಯಲ್ಲಿ ಆರ್ ಅನ್ನು ಬಳಸುವ ಅಂಕಿಅಂಶಗಳ ಚೌಕಟ್ಟುಗಳು Jamovi ಮತ್ತು JASP ಅನ್ನು ಒಳಗೊಂಡಿವೆ.

ಆರ್ ಅನ್ನು ಬೆಂಬಲಿಸುವ ಸಾಮಾನ್ಯ ಉದ್ದೇಶದ ಐಡಿಇಗಳಲ್ಲಿ ಸ್ಟೇಟ್‌ಎಟ್ ಪ್ಲಗ್ಇನ್(StatET plugin) ಮೂಲಕ ಎಕ್ಲಿಪ್ಸ್ ಮತ್ತು ವಿಷುಯಲ್ ಸ್ಟುಡಿಯೋ ಆರ್ ಟೂಲ್ಸ್ ಮೂಲಕ ವಿಷುಯಲ್ ಸ್ಟುಡಿಯೊ ಸೇರಿವೆ.

ಆರ್ ಅನ್ನು ಬೆಂಬಲಿಸುವ ಸಂಪಾದಕರಲ್ಲಿ ಇಮ್ಯಾಕ್ಸ್, ಎನ್ವಿಮ್-ಆರ್ ಪ್ಲಗ್ಇನ್ ಮೂಲಕ ವಿಮ್, ಕೇಟ್, ಸ್ವೀವ್ ಮೂಲಕ ಲಿಕ್ಸ್, ವಿನ್ಎಡ್ಟ್ (ಜಾಲತಾಣ) ಮತ್ತು ಜುಪಿಟರ್ (ಜಾಲತಾಣ) ಸೇರಿವೆ.

ಆರ್ ಅನ್ನು ಬೆಂಬಲಿಸುವ ಸ್ಕ್ರಿಪ್ಟಿಂಗ್ ಭಾಷೆಗಳಲ್ಲಿ ಪೈಥಾನ್ (ವೆಬ್‌ಸೈಟ್) ಪರ್ಲ್ (ಜಾಲತಾಣ) ರೂಬಿ (ಸೋರ್ಸ್ ಕೋಡ್), ಎಫ್ # (ಜಾಲತಾಣ), ಮತ್ತು ಜೂಲಿಯಾ (ಸೋರ್ಸ್ ಕೋಡ್) ಸೇರಿವೆ.

ಆರ್ ಅನ್ನು ಬೆಂಬಲಿಸುವ ಸಾಮಾನ್ಯ ಉದ್ದೇಶದ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳಲ್ಲಿ ಸರ್ವರ್‌ಸಾಕೆಟ್ ಸರ್ವರ್ ಮೂಲಕ ಜಾವಾ ಮತ್ತು.ನೆಟ್ ಸಿ#(.NET C#) (ಜಾಲತಾಣ) ಸೇರಿವೆ.

ಹಿನ್ನೆಲೆಯಲ್ಲಿ ಆರ್ ಅನ್ನು ಬಳಸುವ ಸಂಖ್ಯಾಶಾಸ್ತ್ರೀಯ ಚೌಕಟ್ಟುಗಳಲ್ಲಿ ಜೆ‌ಎಮ್‌ಒವಿ(JMOV) ಮತ್ತು ಜೆ‌ಎಸ್‌ಪಿ(JSP) ಸೇರಿವೆ.

## ಸಮುದಾಯ
ಆರ್(R) ಮೂಲ ಕೋಡ್ ಅನ್ನು ನಿರ್ವಹಿಸಲು ಆರ್‌ ಕೋರ್ ತಂಡವನ್ನು ೧೯೯೭ ರಲ್ಲಿ ಸ್ಥಾಪಿಸಲಾಯಿತು. ಆರ್ ಫೌಂಡೇಶನ್ ಫಾರ್ ಸ್ಟ್ಯಾಟಿಸ್ಟಿಕಲ್ ಕಂಪ್ಯೂಟಿಂಗ್ ಅನ್ನು ಹಣಕಾಸಿನ ನೆರವು ನೀಡಲು ಏಪ್ರಿಲ್ ೨೦೦೩ ರಲ್ಲಿ ಸ್ಥಾಪಿಸಲಾಯಿತು. ಆರ್(R) ಕನ್ಸೋರ್ಟಿಯಂ/ಒಕ್ಕೂಟವು, ಆರ್(R) ಮೂಲಸೌಕರ್ಯವನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸಲು ಲಿನಕ್ಸ್ ಫೌಂಡೇಶನ್ ಯೋಜನೆಯಾಗಿದೆ.

ಆರ್ ಜರ್ನಲ್ ಒಂದು ಮುಕ್ತ ಪ್ರವೇಶ, ಶೈಕ್ಷಣಿಕ ಜರ್ನಲ್ ಆಗಿದ್ದು, ಇದು ಆರ್ ನ ಬಳಕೆ ಮತ್ತು ಅಭಿವೃದ್ಧಿಯ ಕುರಿತು ಸಣ್ಣ ಮತ್ತು ಮಧ್ಯಮ-ಉದ್ದದ ಲೇಖನಗಳನ್ನು ಒಳಗೊಂಡಿದೆ. ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಸಲಹೆಗಳು, ಸಿಆರ್‌ಎ‌ಎನ್(CRAN) ಸುದ್ದಿ ಮತ್ತು ಅಡಿಪಾಯದ ಸುದ್ದಿಗಳನ್ನು ಒಳಗೊಂಡಿದೆ.

ಆರ್ ಸಮುದಾಯವು ಅನೇಕ ಸಮಾವೇಶಗಳನ್ನು ಮತ್ತು ವೈಯಕ್ತಿಕವಾಗಿ ಸಭೆಗಳನ್ನು ಆಯೋಜಿಸುತ್ತದೆ. ಈ ಗುಂಪುಗಳು ಈ ಕೆಳಗಿನವುಗಳನ್ನು ಸೇರಿವೆಃ
* ಯೂಸ್ಆರ್!(UseR!): ವಾರ್ಷಿಕ ಅಂತಾರಾಷ್ಟ್ರೀಯ ಆರ್ ಬಳಕೆದಾರರ ಸಮ್ಮೇಳನ (ವೆಬ್‌ಸೈಟ್)
* ಸಂಖ್ಯಾಶಾಸ್ತ್ರೀಯ ಗಣನೆಯಲ್ಲಿ ನಿರ್ದೇಶನಗಳು (ಡಿಎಸ್‌ಸಿ) (ವೆಬ್‌ಸೈಟ್)
* ಆರ್-ಲೇಡೀಸ್(R-Ladies): ಆರ್ ಸಮುದಾಯದಲ್ಲಿ ಲಿಂಗ ವೈವಿಧ್ಯತೆ ಉತ್ತೇಜಿಸುವ ಸಂಸ್ಥೆ (ವೆಬ್‌ಸೈಟ್)
* ಸ್ಯಾಟ್‌ಆರ್‌ಡೇಸ್(SatRdays): ಶನಿವಾರದಂದು ನಡೆಯುವ ಆರ್-ಕೇಂದ್ರಿತ ಸಮಾವೇಶಗಳು (ವೆಬ್‌ಸೈಟ್ )
* ಆರ್ ಕಾನ್ಫರೆನ್ಸ್ (ವೆಬ್‌ಸೈಟ್)
* ಪೊಸಿಟ್::ಕೋನ್ಫ್(posit::conf) (ಹಿಂದೆ rstudio::conf ಎಂದು ಕರೆಯಲಾಗುತ್ತಿತ್ತು) (ವೆಬ್‌ಸೈಟ್)

## ಅನುಷ್ಠಾನಗಳು
ಮುಖ್ಯ ಆರ್ ಅನುಷ್ಠಾನವನ್ನು ಪ್ರಾಥಮಿಕವಾಗಿ ಸಿ, ಫೋರ್ಟ್ರಾನ್ ಮತ್ತು ಆರ್ ಭಾಷೆಗಳಲ್ಲಿ ಬರೆಯಲಾಗಿದೆ. ಇತರ ಅನುಷ್ಠಾನಗಳು ಈ ಕೆಳಗಿನವುಗಳನ್ನು ಸೇರಿವೆಃ
* ರಾಡ್ಫೋರ್ಡ್ ಎಮ್. ನೀಲ್ ಅವರಿಂದ ಪ್ರೆಟ್ಟಿ ಕ್ವಿಕ್ ಆರ್(pqR), ಮೆಮೊರಿ ನಿರ್ವಹಣೆಯನ್ನು ಸುಧಾರಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತದೆ.
* ರೆಂಜಿನ್ ಎಂಬುದು ಜಾವಾ ವರ್ಚುವಲ್ ಮೆಷಿನ್‌ಗಾಗಿ ಆರ್(R) ನ ಅನುಷ್ಠಾನವಾಗಿದೆ.
* CXXR ಮತ್ತು ರಿಪೋಸ್ಟ್ ಗಳು ಸಿ++ ನಲ್ಲಿ ಬರೆಯಲಾದ ಆರ್ ನ ಅನುಷ್ಠಾನಗಳಾಗಿವೆ.
* ಒರಾಕಲ್ ಆರ್ ಎಂಬುದು ಗ್ರಾಲ್ ವಿಎಂನಲ್ಲಿ ನಿರ್ಮಿಸಲಾದ ಆರ್ ನ ಅನುಷ್ಠಾನವಾಗಿದೆ.
* S-PLUS ನ ಸೃಷ್ಟಿಕರ್ತ TIBCO ಸಾಫ್ಟ್‌ವೇರ್, ಸ್ಪಾಟ್‌ಫೈರ್‌ನೊಂದಿಗೆ ಸಂಯೋಜಿಸಲು TERR ಎಂಬ R(ಆರ್) ಅನುಷ್ಠಾನವನ್ನು ಬರೆದಿದೆ.

ಮೈಕ್ರೋಸಾಫ್ಟ್ ಆರ್ ಓಪನ್ (ಎಂಆರ್‌ಒ) ಒಂದು ಆರ್ ಅನುಷ್ಠಾನವಾಗಿತ್ತು. ೩೦ ಜೂನ್ ೨೦೨೧ ರ ಹೊತ್ತಿಗೆ, ಮೈಕ್ರೋಸಾಫ್ಟ್ ಸಿಆರ್‌ಎ‌ಎನ್ ವಿತರಣೆಯ ಪರವಾಗಿ ಎಂಆರ್‌ಒ ಅನ್ನು ಹಂತಹಂತವಾಗಿ ಹೊರಹಾಕಲು ಪ್ರಾರಂಭಿಸಿತು.

## ವಾಣಿಜ್ಯ ಬೆಂಬಲ
ಆರ್ ಒಂದು ಮುಕ್ತ-ಮೂಲ ಯೋಜನೆ(ಓಪನ್ ಸೋರ್ಸ್ ಪ್ರಾಜೆಕ್ಟ್)ಯಾಗಿದ್ದರೂ, ಕೆಲವು ಕಂಪನಿಗಳು ವಾಣಿಜ್ಯ ಬೆಂಬಲವನ್ನು ಒದಗಿಸುತ್ತವೆಃ
* ರೆವಲ್ಯೂಷನ್ ಅನಾಲಿಟಿಕ್ಸ್ ರೆವಲ್ಯೂಶನ್ ಆರ್ ಗೆ ವಾಣಿಜ್ಯ ಬೆಂಬಲವನ್ನು ಒದಗಿಸುತ್ತದೆ.
* ಬಿಗ್ ಡೇಟಾ ಅಪ್ಲೈಯನ್ಸ್‌ಗೆ ಒರಾಕಲ್ ವಾಣಿಜ್ಯ ಬೆಂಬಲವನ್ನು ಒದಗಿಸುತ್ತದೆ ಮತ್ತು ಇದು ಆರ್(R) ಅನ್ನು ಅದರ ಇತರ ಉತ್ಪನ್ನಗಳೊಂದಿಗೆ ಸಂಯೋಜಿಸುತ್ತದೆ.
* ಆರ್ ನ ಇನ್-ಹದೂಪ್ ಕಾರ್ಯಗತಗೊಳಿಸಲು ಐಬಿಎಂ ವಾಣಿಜ್ಯ ಬೆಂಬಲವನ್ನು ಒದಗಿಸುತ್ತದೆ.

## ಉದಾಹರಣೆಗಳು
### ಹಲೋ, ವರ್ಲ್ಡ್!(Hello, World!)
"ಹಲೋ, ವರ್ಲ್ಡ್!" ಪ್ರೋಗ್ರಾಂ:

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

### ಮೂಲ ವಾಕ್ಯರಚನೆ(ಸಿಂಟ್ಯಾಕ್ಸ್)
ಈ ಕೆಳಗಿನ ಉದಾಹರಣೆಗಳು ಭಾಷೆಯ ಮೂಲ ಸಿಂಟ್ಯಾಕ್ಸ್ ಮತ್ತು ಕಮಾಂಡ್-ಲೈನ್ ಇಂಟರ್ಫೇಸ್‌ನ ಬಳಕೆಯನ್ನು ವಿವರಿಸುತ್ತವೆ. (ಪ್ರಮಾಣಿತ ಭಾಷಾ ವೈಶಿಷ್ಟ್ಯಗಳ ವಿಸ್ತೃತ ಪಟ್ಟಿಯನ್ನು "ಎನ್ ಇಂಟ್ರೊಡಕ್ಷನ್ ಟು ಆರ್" ಎಂಬ ಆರ್ ಕೈಪಿಡಿಯಲ್ಲಿ ಕಾಣಬಹುದು.)

ಆರ್ ನಲ್ಲಿ, ಸಾಮಾನ್ಯವಾಗಿ ಆದ್ಯತೆಯ ಅಸೈನ್ಮೆಂಟ್ ಆಪರೇಟರ್  ಎಂಬ ಎರಡು ಅಕ್ಷರಗಳಿಂದ ಮಾಡಿದ ಬಾಣವಾಗಿದೆ, ಆದಾಗ್ಯೂ `=` ಅನ್ನು ಕೆಲವು ಸಂದರ್ಭಗಳಲ್ಲಿ ಬಳಸಬಹುದು.

```rout
> x  y  print(y) # Print the vector’s contents.
[1]  1  4  9 16 25 36

> z  z # Return the contents of z to the current environment.
[1]  2  6 12 20 30 42

> z_matrix  z_matrix 
     [,1] [,2]
[1,]    2   20
[2,]    6   30
[3,]   12   42

> 2 * t(z_matrix) - 2 # Transpose the matrix, multiply every element by 2, subtract 2 from each element in the matrix, and return the results to the terminal.
     [,1] [,2] [,3]
[1,]    2   10   22
[2,]   38   58   82

> new_df  names(new_df)  print(new_df)  # Print the current results.
   X  Y  Z
A  2  6 12
B 20 30 42

> new_df$Z # Output the Z column
[1] 12 42

> new_df$Z == new_df['Z'] && new_df[3] == new_df$Z # The data.frame column Z can be accessed using $Z, ['Z'], or [3] syntax and the values are the same. 
[1] TRUE

> attributes(new_df) # Print attributes information about the new_df object
$names
[1] "X" "Y" "Z"

$row.names
[1] "A" "B"

$class
[1] "data.frame"

> attributes(new_df)$row.names  new_df
     X  Y  Z
one  2  6 12
two 20 30 42
```

### ಕಾರ್ಯದ ರಚನೆ
ಹೊಸ ಕಾರ್ಯಗಳನ್ನು(functions) ರಚಿಸುವ ಸುಲಭತೆಯು ಆರ್(R) ನ ಸಾಮರ್ಥ್ಯಗಳಲ್ಲಿ ಒಂದಾಗಿದೆ. ಕಾರ್ಯದ ದೇಹದಲ್ಲಿನ ವಸ್ತುಗಳು ಕಾರ್ಯಕ್ಕೆ ಸ್ಥಳೀಯವಾಗಿರುತ್ತವೆ ಮತ್ತು ಯಾವುದೇ ದತ್ತಾಂಶ ಪ್ರಕಾರವನ್ನು ಹಿಂತಿರುಗಿಸಬಹುದು. ಆರ್ ನಲ್ಲಿ, ಬಹುತೇಕ ಎಲ್ಲಾ ಕಾರ್ಯಗಳು ಮತ್ತು ಎಲ್ಲಾ ಬಳಕೆದಾರ-ವ್ಯಾಖ್ಯಾನಿತ ಕಾರ್ಯಗಳು ಮುಚ್ಚುವಿಕೆಗಳಾಗಿವೆ.

ಒಂದು ಕಾರ್ಯವನ್ನು ರಚಿಸಿಃ

```r
# The input parameters are x and y.
# The function returns a linear combination of x and y.
f  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
```

ಇನ್ಫಿಕ್ಸ್ ಆಪರೇಟರ್‌ಗಳಾಗಿ ಬಳಸಬೇಕಾದ ಕಾರ್ಯಗಳನ್ನು ವಿಶೇಷ ಸಿಂಟ್ಯಾಕ್ಸ್ ``%name%`` ನೊಂದಿಗೆ ವ್ಯಾಖ್ಯಾನಿಸಲು ಸಾಧ್ಯವಿದೆ. ಅಲ್ಲಿ "name" ಎಂಬುದು ಕಾರ್ಯದ(function) ವೇರಿಯೇಬಲ್ ಹೆಸರುಃ

```rout
> `%sumx2y2%`  1:3 %sumx2y2% -(1:3)
[1]  2  8 18
```

ಆವೃತ್ತಿ ೪.೧.೦ ಕಾರ್ಯಗಳನ್ನು ಸಣ್ಣ ಸಂಕೇತದಲ್ಲಿ ಬರೆಯಬಹುದಾಗಿರುವುದರಿಂದ, ಅನಾಮಧೇಯ ಕಾರ್ಯಗಳನ್ನು ಉನ್ನತ-ಕ್ರಮಾಂಕದ ಕಾರ್ಯಗಳಿಗೆ ರವಾನಿಸಲು ಇದು ಉಪಯುಕ್ತವಾಗಿದೆ:

```rout
> sapply(1:5, \(i) i^2)    # here \(i) is the same as function(i) 
[1]  1  4  9 16 25
```

### ಸ್ಥಳೀಯ ಪೈಪ್ ಆಪರೇಟರ್
ಆರ್ ಆವೃತ್ತಿ ೪.೧.೦ ರಲ್ಲಿ, ಸ್ಥಳೀಯ ಪೈಪ್ ಆಪರೇಟರ್, `|>`, ಅನ್ನು ಪರಿಚಯಿಸಲಾಯಿತು. ಈ ಆಪರೇಟರ್ ಬಳಕೆದಾರರಿಗೆ ನೆಸ್ಟೆಡ್ ಫಂಕ್ಷನ್ ಕಾಲ್ ಬದಲಿಗೆ ಒಂದರ ನಂತರ ಒಂದರಂತೆ ಫಂಕ್ಷನ್‌/ಕಾರ್ಯಗಳನ್ನು ಜೋಡಿಸಲು ಅನುಮತಿಸುತ್ತದೆ.

```rout
> nrow(subset(mtcars, cyl == 4)) # Nested without the pipe character
[1] 11

> mtcars |> subset(cyl == 4) |> nrow() # Using the pipe character
[1] 11
```

ನೆಸ್ಟೆಡ್ ಫಂಕ್ಷನ್‌ಗಳಿಗೆ ಮತ್ತೊಂದು ಪರ್ಯಾಯವೆಂದರೆ, ಪೈಪ್ ಪಾತ್ರವನ್ನು ಬಳಸುವುದಕ್ಕೆ ವ್ಯತಿರಿಕ್ತವಾಗಿ, ಮಧ್ಯಂತರ ವಸ್ತುಗಳನ್ನು ಬಳಸುವುದು. ಆದಾಗ್ಯೂ, ಪೈಪ್ ಆಪರೇಟರ್ ಅನ್ನು ಬಳಸುವುದರಿಂದ ಓದಲು ಸುಲಭವಾದ ಕೋಡ್ ಉತ್ಪತ್ತಿಯಾಗುತ್ತದೆ ಎಂದು ಕೆಲವರು ವಾದಿಸುತ್ತಾರೆ.

```rout
> mtcars_subset_rows  num_mtcars_subset  print(num_mtcars_subset)
[1] 11
```

### ವಸ್ತು-ಆಧಾರಿತ ಪ್ರೋಗ್ರಾಮಿಂಗ್
ಆರ್ ಭಾಷೆಯು ಆಬ್ಜೆಕ್ಟ್-ಓರಿಯೆಂಟೆಡ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್‌ಗೆ ಸ್ಥಳೀಯ ಬೆಂಬಲವನ್ನು ಹೊಂದಿದೆ. ಎಸ್೩(S3) ಮತ್ತು ಎಸ್‌೪(S4) ವ್ಯವಸ್ಥೆಗಳು ಎಂದು ಕರೆಯಲ್ಪಡುವ ಎರಡು ಸ್ಥಳೀಯ ಚೌಕಟ್ಟುಗಳಿವೆ. ಮೊದಲನೆಯದು, ಹೆಚ್ಚು ಅನೌಪಚಾರಿಕವಾಗಿರುವುದರಿಂದ, ಮೊದಲ ಆರ್ಗ್ಯುಮೆಂಟ್‌ನಲ್ಲಿ ಏಕ ರವಾನೆಯನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ ಮತ್ತು ಪ್ರತಿಯೊಂದು ವಸ್ತುವಿನಲ್ಲಿ "ವರ್ಗ" ಗುಣಲಕ್ಷಣವನ್ನು ಹೊಂದಿಸುವ ಮೂಲಕ ವಸ್ತುಗಳನ್ನು ವರ್ಗಕ್ಕೆ ನಿಯೋಜಿಸಲಾಗುತ್ತದೆ. ಎರಡನೆಯದು ಸಾಮಾನ್ಯ ಲಿಸ್ಪ್ ಆಬ್ಜೆಕ್ಟ್ ಸಿಸ್ಟಮ್ (CLOS) ಮಾದರಿಯ ಔಪಚಾರಿಕ ವರ್ಗಗಳ ವ್ಯವಸ್ಥೆಯಾಗಿದೆ (S ನಿಂದ ಕೂಡ ಪಡೆಯಲಾಗಿದೆ) ಮತ್ತು ಬಹು ರವಾನೆ ಮತ್ತು ಬಹು ಪರಂಪರೆಯನ್ನು ಬೆಂಬಲಿಸುವ ಸಾಮಾನ್ಯ ವಿಧಾನಗಳಾಗಿವೆ.

ಈ ಉದಾಹರಣೆಯಲ್ಲಿ, `summary` ಒಂದು ಸಾಮಾನ್ಯ ಕಾರ್ಯವಾಗಿದ್ದು, ಅದರ ವಾದವು ಸಂಖ್ಯಾತ್ಮಕ ವಾಹಕ ಅಥವಾ "ಅಂಶ/ಫ್ಯಾಕ್ಟರ್" ಅನ್ನು ಅವಲಂಬಿಸಿ ವಿವಿಧ ವಿಧಾನಗಳಿಗೆ ರವಾನಿಸುತ್ತದೆಃ

```rout
> data  summary(data)
   Length     Class      Mode 
        5 character character 
> summary(as.factor(data))
   a    b    c NA's 
   2    1    1    1
```

### ಮಾಡೆಲಿಂಗ್ ಮತ್ತು ಪ್ಲಾಟಿಂಗ್
ಆರ್ ಭಾಷೆಯು ದತ್ತಾಂಶ ಮಾದರಿ ಮತ್ತು ಗ್ರಾಫಿಕ್ಸ್‌ಗೆ ಅಂತರ್ನಿರ್ಮಿತ ಬೆಂಬಲವನ್ನು ಹೊಂದಿದೆ. ಈ ಕೆಳಗಿನ ಉದಾಹರಣೆಯು ಆರ್ ಹೇಗೆ ಉಳಿದಿರುವ ರೇಖಾತ್ಮಕ ಮಾದರಿಯನ್ನು ರಚಿಸಬಹುದು ಮತ್ತು ರೂಪಿಸಬಹುದು ಎಂಬುದನ್ನು ತೋರಿಸುತ್ತದೆ.

```r
# Create x and y values
x |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
```

### ಮ್ಯಾಂಡೆಲ್ಬ್ರೊಟ್ ಸೆಟ್
ಈ ಮ್ಯಾಂಡೆಲ್ಬ್ರೊಟ್ ಸೆಟ್ ಉದಾಹರಣೆಯು ಸಂಕೀರ್ಣ ಸಂಖ್ಯೆಗಳ ಬಳಕೆಯನ್ನು ಎತ್ತಿ ತೋರಿಸುತ್ತದೆ. ಇದು z = z2 + c, where `c` ಸಮೀಕರಣದ ಮೊದಲ ೨೦ ಪುನರಾವರ್ತನೆಗಳನ್ನು ರೂಪಿಸುತ್ತದೆ. ಅಲ್ಲಿ where `c` ವಿಭಿನ್ನ ಸಂಕೀರ್ಣ ಸ್ಥಿರಾಂಕಗಳನ್ನು ಪ್ರತಿನಿಧಿಸುತ್ತದೆ.

ಮೊದಲು ನಿಬಂಧನೆಯ `write.gif()` ಕಾರ್ಯದ ಅಡಿಯಲ್ಲಿ ಪ್ಯಾಕೇಜ್ ಅನ್ನು ಸ್ಥಾಪಿಸಿ:

```r
install.packages("caTools")
```

ಆರ್ ಮೂಲ ಕೋಡ್ಃ

```r
library(caTools)

jet.colors <-
    colorRampPalette(
        c("green", "pink", "#007FFF", "cyan", "#7FFF7F",
          "white", "#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), times = dx)
            )

# reshape as matrix of complex numbers
C <- matrix(C, dy, dx)

# initialize output 3D array
X <- array(0, c(dy, dx, 20))

Z <- 0

# loop with 20 iterations
for (k in 1:20) {

  # the central difference equation
  Z <- Z^2 + C

  # capture the results
  X[,, k] <- exp(-abs(Z))
}

write.gif(
    X,
    "Mandelbrot.gif",
    col = jet.colors,
    delay = 100)
```

## ಆವೃತ್ತಿಗಳ ಹೆಸರುಗಳು
೨.೧೪.೦ ನಿಂದ ಬಿಡುಗಡೆಯಾದ ಎಲ್ಲಾ ಆರ್(R) ಆವೃತ್ತಿಗಳು ಪೀನಟ್ಸ್ ಕಾಮಿಕ್ಸ್ ಮತ್ತು ಚಲನಚಿತ್ರಗಳನ್ನು ಉಲ್ಲೇಖಿಸುವ ಸಂಕೇತನಾಮಗಳನ್ನು ಹೊಂದಿವೆ.

೨೦೧೮ ರಲ್ಲಿ, ಕೋರ್ ಆರ್ ಡೆವಲಪರ್ ಆದ ಪೀಟರ್ ಡಾಲ್ಗಾರ್ಡ್ ೧೯೯೭ ರಿಂದ ಆರ್ ಬಿಡುಗಡೆಗಳ ಇತಿಹಾಸವನ್ನು ಪ್ರಸ್ತುತಪಡಿಸಿದರು. ಹೆಸರಿಸಲಾದ ಬಿಡುಗಡೆಗಳ ಮೊದಲು ಕೆಲವು ಗಮನಾರ್ಹ ಆರಂಭಿಕ ಬಿಡುಗಡೆಗಳು ಈ ಕೆಳಗಿವೆ:

* ಆವೃತ್ತಿ ೧.೦ ಫೆಬ್ರವರಿ ೨೯, ೨೦೦೦(೨೦೦೦-೦೨-೨೯)- ಒಂದು ಅಧಿಕ ದಿನದಂದು ಬಿಡುಗಡೆಯಾಯಿತು.
* ೨೦೦೪ ರ ಅಕ್ಟೋಬರ್ ೪ ರಂದು ಬಿಡುಗಡೆಯಾದ ಆವೃತ್ತಿ ೨.೦.೦, "ಇದು ಕನಿಷ್ಠ ಒಂದು ಒಳ್ಳೆಯ ವರ್ತುಲವನ್ನು ಹೊಂದಿತ್ತು"

ಆರ್ ಆವೃತ್ತಿ ಬಿಡುಗಡೆಗಳಿಗೆ ಹೆಸರಿಸುವ ಕಲ್ಪನೆಯು ಡೆಬಿಯನ್ ಮತ್ತು ಉಬುಂಟು ಆವೃತ್ತಿಗಳ ಹೆಸರಿಸುವಿಕೆಯ ವ್ಯವಸ್ಥೆಯಿಂದ ಪ್ರೇರಿತವಾಗಿತ್ತು. ಆರ್ ಸಂಕೇತನಾಮಗಳಿಗೆ ಕಡಲೆಕಾಯಿಯ ಉಲ್ಲೇಖಗಳನ್ನು ಬಳಸುವುದಕ್ಕೆ ಮತ್ತೊಂದು ಕಾರಣವೆಂದರೆ, "ಅಂಕಿಅಂಶಗಳಲ್ಲಿನ ಪ್ರತಿಯೊಬ್ಬರೂ ಪಿ-ನಟ್" ಎಂದು ಡಾಲ್ಗಾರ್ಡ್ ಗಮನಿಸಿದರು.

## ಉಲ್ಲೇಖಗಳು
ವರ್ಗ:ಮಾಹಿತಿ ತಂತ್ರಜ್ಞಾನ
ವರ್ಗ:ಕನ್ನಡ ವಿಕಿಪೀಡಿಯ ಗುಣಮಟ್ಟ ಸುಧಾರಣೆ