ആർ (പ്രോഗ്രാമിംഗ് ഭാഷ)

സ്റ്റാറ്റിസ്റ്റിക്കൽ കമ്പ്യൂട്ടിംഗിനും ഡാറ്റ വിഷ്വലൈസേഷനും വ്യാപകമായി ഉപയോഗിക്കുന്ന ഒരു പ്രോഗ്രാമിംഗ് ഭാഷയാണ് **ആർ**. ഉപയോക്താക്കൾക്ക് സ്ഥിതിവിവരക്കണക്കുകൾ പ്രയോഗിക്കാനും സങ്കീർണ്ണമായ ഗ്രാഫിക്‌സ് സൃഷ്‌ടിക്കാനും ഡാറ്റ കൈകാര്യം ചെയ്യാനുമുള്ള എളുപ്പത്തിലാണ് ഇതിൻ്റെ ശക്തി. ഡാറ്റാ മൈനിങ്ങ്, ബയോ ഇൻഫോർമാറ്റിക്‌സ്, ഡാറ്റാ അനാലിസിസ് തുടങ്ങിയ മേഖലകളിൽ ഇത് ആറിനെ വളരെ ജനപ്രിയമാക്കുന്നു. വലിയ ഡാറ്റാസെറ്റുകളും സ്റ്റാറ്റിസ്റ്റിക്കൽ മോഡലുകളും ഉപയോഗിച്ച് പ്രവർത്തിക്കുന്ന ഡാറ്റാ സയൻ്റിസ്റ്റുകളും വിശകലന വിദഗ്ധരും ഇതിനെ ഒരു ഗോ-ടു ടൂളാക്കുകയും, വിവിധ ജോലികൾക്കായി രൂപകൽപ്പന ചെയ്ത ലൈബ്രറികളുടെയും പാക്കേജുകളുടെയും സമ്പന്നമായ ഒരു ഇക്കോസിസ്റ്റമുണ്ട്. 

ആർ സ്വയം ശക്തമാണ് മാത്രമല്ല ആയിരക്കണക്കിന് വിപുലീകരണ പാക്കേജുകളാൽ മെച്ചപ്പെടുത്തുകയും ചെയ്യുന്നു. ഈ പാക്കേജുകൾ പുനരുപയോഗിക്കാവുന്ന കോഡ്, ഡോക്യുമെൻ്റേഷൻ, സാമ്പിൾ ഡാറ്റാസെറ്റുകൾ എന്നിവ നൽകുന്നു, അത് പ്രത്യേക ജോലികൾക്കായി കോർ ആറിൻ്റെ പ്രവർത്തനക്ഷമത വർദ്ധിപ്പിക്കാൻ സഹായിക്കുന്നു. ഈ വിപുലീകരണങ്ങൾ വിപുലമായ സ്റ്റാറ്റിസ്റ്റിക്കൽ മെത്തേഡുകൾ, ഡാറ്റ മാനിപ്പുലേഷൻ, മെഷീൻ ലേണിംഗ്, കൂടാതെ ഗ്രാഫുകൾ പ്ലോട്ടിംഗ് പോലുള്ള വിഷ്വലൈസേഷൻ ടാസ്‌ക്കുകൾ എന്നിവ ചെയ്യുന്നത് എളുപ്പമാക്കുന്നു. ഡാറ്റാ വിഷ്വലൈസേഷനായി `ggplot2`, ഡാറ്റ മാനിപ്പുലേഷനായി `dplyr`, മെഷീൻ ലേണിംഗിനുള്ള `caret` എന്നിവ ജനപ്രിയ പാക്കേജുകളിൽ ഉൾപ്പെടുന്നു.

ആർ സോഫ്‌റ്റ്‌വെയർ ഓപ്പൺ സോഴ്‌സും സ്വതന്ത്ര സോഫ്‌റ്റ്‌വെയറുമാണ്. ഇത് ഗ്നു പ്രോജക്റ്റ് ലൈസൻസ് ചെയ്തിട്ടുള്ളതും ഗ്നു ജനറൽ പബ്ലിക് ലൈസൻസിന് കീഴിൽ ലഭ്യവുമാണ്. സി, ഫോർട്രാൻ, ആർ(R) തുടങ്ങിയ പ്രോഗ്രമിംഗ് ഭാഷകൾ ഉപയോഗിച്ച് എഴുതിയിരിക്കുന്നു. വിവിധ ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങൾക്കായി മുൻകൂട്ടി കംപൈൽ ചെയ്ത എക്സിക്യൂട്ടബിളുകൾ നൽകിയിരിക്കുന്നു.

ആർ എന്നത് ഒരു ഇന്റർപ്രെട്ടഡ് ലാങ്വേജാണ്, അതായത് അതിൻ്റെ കോഡ് അതിൻ്റെ നേറ്റീവ് കമാന്റ് ലൈൻ ഇന്റർഫേസ് (CLI) വഴി തത്സമയം ലൈൻ-ബൈ-ലൈനായി എക്സിക്യൂട്ട് ചെയ്യപ്പെടുന്നു. ഇതുകൂടാതെ, ഒരു ഇന്റഗ്രേറ്റഡ് ഡെവലപ്മെന്റ് എൺവയൺമെന്റ് (IDE) പ്രദാനം ചെയ്യുന്ന ആർ സ്റ്റുഡിയോ(RStudio) പോലെയുള്ള ജനപ്രിയ മൂന്നാം-കക്ഷി ഗ്രാഫിക്കൽ ഉപയോക്തൃ ഇൻ്റർഫേസുകൾ (ജിയുഐ) ഉണ്ട്, കൂടാതെ ഒരു നോട്ട്ബുക്ക് ശൈലിയിലുള്ള ഇൻ്റർഫേസ് നൽകുന്ന ജുപ്പീറ്ററും(Jupyter) ഈ ഭാഷ നൽകിയിട്ടുണ്ട്. ആർ കോഡ് ഡൈനാമിക്കായി പ്രവർത്തിക്കുന്നു. കോഡ് കമ്പ്ലീക്ഷൻ, വിഷ്വലൈസേഷൻ എയ്‌ഡ്സ് എന്നിവ പോലുള്ള സവിശേഷതകൾ ചേർത്തുകൊണ്ട് ഈ ടൂളുകൾ ആറിനെ കോഡിംഗിനെ കൂടുതൽ ഉപയോക്തൃ-സൗഹൃദമാക്കുന്നു.
## ചരിത്രം

ഇൻഡ്രോടക്ടറി സ്റ്റാറ്റിസ്റ്റിക്സ് പഠിപ്പിക്കുന്നതിനുള്ള ഒരു ഭാഷയായി ഓക്ക്‌ലൻഡ് സർവകലാശാലയിലെ പ്രൊഫസർമാരായ റോസ് ഇഹാക്ക, റോബർട്ട് ജെൻ്റിൽമാൻ എന്നിവർ ചേർന്ന് ആദ്യം വികസിപ്പിച്ചെടുത്തു. സ്റ്റാറ്റിസ്റ്റിക്കൽ ആശയങ്ങൾ പഠിക്കുന്നത് എളുപ്പമാക്കുന്ന ഒരു ഉപകരണം സൃഷ്ടിക്കുക എന്നതായിരുന്നു അവരുടെ ലക്ഷ്യം, ഒടുവിൽ അദ്ധ്യാപനത്തിനപ്പുറം ഡാറ്റ വിശകലനത്തിനായി വിവിധ മേഖലകളിൽ ആർ വ്യാപകമായി ഉപയോഗിക്കപ്പെടുന്നു.

ബെൽ ലാബിൽ വികസിപ്പിച്ചെടുത്ത എസ് പ്രോഗ്രാമിംഗ് ഭാഷയിൽ(S programming language) നിന്നാണ് ആർ പ്രചോദനം ഉൾക്കൊണ്ടത്. എസുമായി വളരെ പൊരുത്തപ്പെടുന്ന തരത്തിലാണ് ആർ രൂപകൽപ്പന ചെയ്‌തിരിക്കുന്നത്, അതായത് മിക്ക എസ് പ്രോഗ്രാമുകളും ആറിൽ യാതൊരു മാറ്റവുമില്ലാതെ പ്രവർത്തിക്കാൻ കഴിയും. ഈ ഡിസൈൻ ചോയ്‌സ് ആറിനെ എസിന്റെ ഗുണങ്ങൾ സ്വീകരിക്കാൻ അനുവദിച്ചു, അതേസമയം വ്യാപകമായി ഉപയോഗിക്കുന്ന സ്റ്റാറ്റിസ്റ്റിക്കൽ കമ്പ്യൂട്ടിംഗ് ടൂളായി പരിണമിച്ചു. മിനിമലിസ്റ്റ് പ്രോഗ്രാമിംഗ് ഭാഷയായ സ്കീമും ആറിനെ സ്വാധീനിച്ചു. ഒരു പ്രത്യേക ലോക്കൽ കോൺടക്റ്റ്(local context) വേരിയബിളുകൾ നിർവചിക്കാൻ അനുവദിക്കുന്ന സവിശേഷതയായ ലെക്സിക്കൽ സ്കോപ്പിംഗ് എന്നതിലേക്കുള്ള സ്കീമിൻ്റെ സമീപനമാണ് പ്രധാന പ്രചോദനങ്ങളിലൊന്ന്. ഇതിനർത്ഥം, ആറിൽ, ലോക്കൽ വേരിയബിളുകൾ നിർവചിച്ചിരിക്കുന്ന കോഡിൻ്റെ പ്രവർത്തനത്തിലോ ബ്ലോക്കിലോ മാത്രമേ പ്രവേശിക്കാനാവൂ. വേരിയബിളുകൾ കൈകാര്യം ചെയ്യുന്ന ഈ രീതി, പ്രോഗ്രാമിൻ്റെ വിവിധ ഭാഗങ്ങളിൽ വേരിയബിൾ പേരുകൾ തമ്മിലുള്ള ആശയക്കുഴപ്പം ഒഴിവാക്കിക്കൊണ്ട് ഓരോ വേരിയബിളും നിർവചിച്ചിരിക്കുന്നിടത്ത് മാത്രമേ  പ്രവേശിക്കാനാകൂ എന്ന് ഉറപ്പാക്കുന്നു. ഇത് കോഡ് ലളിതമായി നിലനിർത്തുകയും പിശകുകൾ കുറയ്ക്കുകയും ചെയ്യുന്നു, ഇത് മൂലം പ്രോഗ്രാമിംഗ് ഭാഷ കൈകാര്യം ചെയ്യലും ട്രബിൾഷൂട്ടും എളുപ്പമാക്കുന്നു

എസ് (S) പ്രോഗ്രാമിംഗ് ഭാഷയുടെ പിൻഗാമി എന്ന നിലയ്ക്കും "S" എന്ന ഇംഗ്ലീഷ് അക്ഷരത്തെത്തുടർന്ന് "R" വരുന്നതിനാലും ഈ പേര് തിരഞ്ഞെടുത്തു, കൂടാതെ അതിൻ്റെ സ്രഷ്‌ടാക്കളുടെ പേരുകളുടെ റോസ് ഇഹാക്ക, റോബർട്ട് ജെൻ്റിൽ ആദ്യ അക്ഷരങ്ങളായ "R"-ൽ  ആരംഭിക്കുന്നതിനാലും ഇത് ഉപയോഗിച്ചു. 1993 ഓഗസ്റ്റിൽ, റോസ് ഇഹാക്കയും റോബർട്ട് ജെൻ്റിൽമാനും ചേർന്ന് ആറിൻ്റെ ഒരു പതിപ്പ് ഡാറ്റ ആർക്കൈവ് വെബ്സൈറ്റായ സ്റ്റാറ്റിലിബിൽ ലഭ്യമാക്കി. സ്റ്റാറ്റിസ്റ്റിക്കൽ കമ്മ്യൂണിറ്റിയുമായി ഇത് പങ്കിടാൻ അവർ അത് എസ്-ന്യൂസ് മെയിലിംഗ് ലിസ്റ്റിലും പ്രഖ്യാപിച്ചു. പിന്നീട്, 1997 ഡിസംബർ 5-ന് 0.60 പതിപ്പ് പുറത്തിറങ്ങിയപ്പോൾ ആർ, ഗ്നൂ പ്രോജക്റ്റായി മാറി. 2000 ഫെബ്രുവരി 29-ന്, ആർ ഔദ്യോഗികമായി പതിപ്പ് 1.0 പുറത്തിറക്കി, അതിൻ്റെ പ്രധാന പ്രവർത്തനക്ഷമതയും സ്ഥിരതയും പൂർത്തീകരിച്ചു . ഈ ഭാഷ അതിൻ്റെ പ്രധാന സവിശേഷതകൾ പൂർണ്ണവും പൊതുവായ ഉപയോഗത്തിന് മതിയായ സ്ഥിരതയുള്ളതുമായ ഒരു ഘട്ടത്തിൽ എത്തിയിരിന്നു.
## പാക്കേജുകൾ

ആർ ഫംഗ്‌ഷനുകൾ, ഡോക്യുമെൻ്റേഷൻ, ഡാറ്റാസെറ്റുകൾ എന്നിവ ഉൾക്കൊള്ളുന്ന ബണ്ടിലുകളാണ് ആർ പാക്കേജുകൾ. സ്പെഷിലൈസ്ഡ് ടാസ്‌ക്കുകൾ, ഡാറ്റാ വിഷ്വലൈസേഷൻ, സ്റ്റാറ്റിസ്റ്റിക്കൽ അനാലിസിസ് എന്നിവയ്‌ക്കും അതിലേറെ കാര്യങ്ങൾക്കുമായി പുതിയ ഫംഗ്‌ഷനുകൾ ചേർത്ത് ആറിന്റെ കഴിവുകൾ വിപുലീകരിക്കാൻ അവ ഉപയോക്താക്കളെ അനുവദിക്കുന്നു. ആദ്യം മുതൽ എല്ലാ കോഡുകളും എഴുതാതെ തന്നെ വിവിധ പ്രത്യേക ജോലികൾ ചെയ്യാൻ ഈ പാക്കേജുകൾ ഉപയോക്താക്കളെ സഹായിക്കുന്നു. റിപ്പോർട്ടുകൾ സൃഷ്‌ടിക്കുന്നതിന് ആർമാർക്ക്ഡൗൺ(RMarkdown), ക്വാർട്ടോ(Quarto), നിടർ(knitr), സ്വീവ്(Sweave) എന്നീ സവിശേഷതകൾ ചേർത്ത് ആറിന്റെ പാക്കേജുകൾ അതിൻ്റെ പ്രവർത്തനക്ഷമത വിപുലീകരിക്കുന്നു. ലീനിയർ, നോൺ-ലീനിയർ മോഡലിംഗ്, സ്പേഷ്യൽ, ടൈം സീരീസ് അനാലിസിസ്സ്, ക്ലസ്റ്ററിംഗ് എന്നിവ പോലുള്ള വിപുലമായ സ്റ്റാറ്റിസ്റ്റിക്കൽ ടെക്നിക്കുകളും ഉൾപ്പെടുത്തിയിട്ടുണ്ട്. ഈ പാക്കേജുകൾ ഇൻസ്റ്റാൾ ചെയ്യുന്നതിനും ഉപയോഗിക്കുന്നതിനുമുള്ള ലാളിത്യം കാരണം ഡാറ്റാ സയൻസിൽ ആറിന്റെ ജനപ്രീതിക്ക് കാരണമായി.

ആർ എൻവയോൺമെൻ്റ് ആരംഭിക്കുമ്പോൾ തന്നെ ലഭ്യമാകുന്ന ബിൽറ്റ്-ഇൻ ടൂളുകളാണ് ആറിന്റെ അടിസ്ഥാന പാക്കേജുകൾ. പ്രോഗ്രാമിംഗിനും അടിസ്ഥാന കണക്കുകൂട്ടലുകൾ നടത്തുന്നതിനും ഗ്രാഫിക്സ് സൃഷ്ടിക്കുന്നതിനും സ്റ്റാറ്റിസ്റ്റിക്കൽ വിശകലനം നടത്തുന്നതിനും ആവശ്യമായ കമാൻഡുകളും വാക്യഘടനയും ഈ പാക്കേജുകൾ വാഗ്ദാനം ചെയ്യുന്നു. അവ ആറിൻ്റെ പ്രവർത്തനത്തിന് അടിത്തറ ഉണ്ടാക്കുന്നു, ഇത് ഉപയോക്താക്കളെ ഉടൻ തന്നെ ഡാറ്റ ഉപയോഗിച്ച് പ്രവർത്തിക്കാൻ അനുവദിക്കുന്നു.

## അവലംബം