در تپش این هفته، ماجرای فریب و تعرض در پوشش عرفانهای دروغین و رمالی را بررسی کردیم
زبان آر توسط راس ایهاکا و رابرت جنتلمن در دانشگاه آوکلند نیوزلند ساخته شد و در حال حاضر توسط تیم توسعه هسته آر که جان کمبرس یکی از اعضای آن است، مشغول کار روی آن است. نام آر از حرف اول اسم راس ایهاکا و رابرت جنتلمن دو مولف زبان آر گرفته شده است.
زبان آر بخشی از پروژه GNU است که کد منبع آن بصورت رایگان و تحت مجوز GNU General Public license و نگارش باینری و اجرایی آن برای نسخههای مختلف سیستم عامل از جمله لینوکس قابل دریافت است.
این زبان از یک رابط خطفرمان برای اجرا کردن کدهای خود استفاده میکند، اما رابطهای گرافیکی آن نیز موجود است. این رابطها نیز برای تمامی سیستمعاملهایی که آر روی آنها قابل نصب است نیز وجود دارد.
زبان آر تعداد زیادی از تکنیکهای آماری و گرافیکی را فراهم آورده است که شامل مدلهای خطی و غیرخطی، آزمونهای آماری قدیمی، طبقهبندی و دستهبندی است. آر نیز مانند اس همچون یک زبان برنامهنویسی طراحی شده که اجازه میدهد با افزودن توابع، عملیات جدیدی را تعریف کرد. کاربران پیشرفته میتوانند با زبانهایی همچون C و جاوا کدهایی بنویسند که بهصورت مستقیم اشیای آر را دستکاری کند. آر انعطافپذیر است و کاربران میتوانند بستههایی را برای توابعی مشخص یا محیطی خاص، برای آن طراحی کنند.
آر یک زبان شیءگرای قوی بهشمار میآید که بسیار سادهتر از زبانهای دیگر برنامهنویسی آماری است. همچنین این نرمافزار قابلیت تولید گرافهای پیچیده و با کیفیت مناسب چاپ را دارد.
ویژگیهای دیگر زبان R
همانطور که گفته شد، زبان آر یک رابط خط فرمانی مانند زبانهای بیسبک و پایتون دارد. کدهای این زبان نیز بصورت اسکریپت هستند یعنی نیاز به کامپایل شدن ندارند و در هر لحظه اجرا میشوند و از لحاظ Syntax گرامری شبیه به کدهای جاوااسکریپت است.
زبان آر از برنامهنویسی رویهای و از برنامهنویسی شیءگرا توسط توابع عمومی پشتیبانی میکند.
بگذارید قواعد گرامری و نحوه برنامهنویسی این زبان برنامه نویسی را با ذ کر چند مثال بیان کنیم. ابتدا نیاز است که مفسر زبان آر را از نشانی زیر دریافت کنید:
http://www.r-project.org/
پس از نصب، نخست مفسر آر را از خط فرمان اجرا کنید. همانطور که گفتیم، این زبان برای تحلیل آماری است پس بهطبع انواع دادههای آن بهگونهای هستند که با محاسبات آماری بیشتر درگیر میشوند. بنابراین برخی از انواع دادههایی که در دیگر زبانهای برنامهنویسی موجود است در این زبان وجود ندارد.
یکی از این انواع دادهها، بردار است، بردار را میتوان مانند یک مجموعه در نظر گرفت و روی عناصر آن مجموعه میتوان عملیات انجام داد. برای ساخت بردار از متد سی استفاده میشود، این متد اعدادی را بهعنوان آرگومان ورودی دریافت میکند که از این اعداد برای تشکیل یک بردار استفاده میشود. برای مثال، عبارت زیر نمایانگر یک بردار است:
X=c(10,2,3.4,4,12,0.5)
برای نمایش مقدار بردار کافیست در خط فرمان عبارت x را بزنید و سپس اینتر را فشار دهید یا از تابع print استفاده کنید.
روی توابع میتوان عملیات ریاضی را انجام داد. مثلا 2 بردار را با هم جمع کنیم. برای اینکار از عملگر «+» مانند بقیه زبانهای برنامهنویسی استفاده میشود و همینطور «*»، «-» و نمادهای دیگر. با استفاده از «&~#@&» میتوان مقادیر یک بردار را بهتوان ? رساند.
یکی دیگر از توابع که روی بردارها محاسبه انجام میدهد، تابع mean است. این در واقع میانگین دادههای درون یک بردار را مشخص میکند. تابع دیگر تابع sum است که عناصر یک بردار را باهم جمع میکند. و تابع length تعداد عناصر یک بردار را مشخص میکند.
یکی دیگر از انواع دادههای این زبان ماتریس است. برای تعریف یک ماتریس از تابع matrix استفاده میکنیم.
یک روش ساده برای تعریف یک ماتریس پاس دادن یک بردار به تابع و مشخص کردن تعداد سطرها یا ستونهای ماتریس است. به مثال زیر توجه کنید:
Y=matrix(c(1,2,3,4,5,6),nrow=2)
این کد یک ماتریس با 6 عنصر و 2سطر و 3 ستون مشخص میکند. طبعا مشخص است اگر بین تعداد عناصر بردار و تعداد سطر و ستونها اختلافی وجود داشته باشد با خطا مواجه میشوید.
روی ماتریسها هم میتوان کارهای مختلفی را انجام داد. مثلا با استفاده از تابع det میتوان دترمینان یک ماتریس را حساب کرد.
اما میرسیم به تعریف توابع. توابع در زبان آر مانند بقیه زبانهای برنامهنویسی است یعنی چند متغیر ورودی و یک نوع خروجی و یک نام ساختن تابع در زبان آر از الگوی زیر پیروی میکند:
[functionname]=function([inputparameters]){
return([outputparameters])
}
توابع میتوانند خروجی نداشته باشند. برای مثال تابعی مینویسیم که یک عدد و یک بردار را گرفته و عدد را در عناصر بردار ضرب کرده و یک ماتریس با تعداد سطرهایی برابر عدد ورودی را برگرداند.
test=function(v,n){
return(matrix(v*n,nrow=n))
}
برای نمایش این بردار از توابع نمایشی زبان آر استفاده میکنیم. یکی از این توابع hist است که نمودار هیستوگرام بردار متناظر که بهعنوان ورودی دریافت کرده را رسم میکند. برای آشنایی بیشتر با زبان R به نشانی زیر مراجعه کنید:
امیربهاالدین سبطالشیخ
در تپش این هفته، ماجرای فریب و تعرض در پوشش عرفانهای دروغین و رمالی را بررسی کردیم
گزارش «جامجم» درباره دستاوردهای زبان فارسی در گفتوگو با برخی از چهرههای ادب معاصر
معاون وزیر بهداشت: