آموزش گام به گام تحلیل شبکه اجتماعی در زبان R
محسن رییسی
دانشگاه صنعتی امیرکبیر (پلی تکنیک تهران)
آر (زبان برنامهنویسی)
سیستمعامل | چندسکویی |
---|---|
پروانه | GPL |
وبگاه | پروژهٔ آر |
R، یک زبان برنامهنویسی و محیط نرمافزاری برای محاسبات آماری و تحلیل داده است، که بر اساس زبانهایاس و اسکیم پیادهسازی شده است. این نرمافزار بازمتن، تحت اجازهنامه عمومی همگانی گنو عرضه شده و به رایگان قابل دسترس است.
زبان اس بجز R، توسط شرکت Insightful، در نرمافزار تجاری اسپلاس نیز پیادهسازی شده است. اگرچه دستورات اسپلاس و R بسیار شبیه است لیکن این دو نرمافزار دارای هستههای متمایزی میباشند.
محتویات
ویژگیها
R، حاوی محدودهٔ گستردهای از تکنیکهای آماری (از جمله: مدلسازی خطی و غیرخطی، آزمونهای کلاسیک آماری، تحلیل سریهای زمانی، ردهبندی، خوشهبندی و غیره) و قابلیتهای گرافیکی است. در محیط R، کدهای سی، سی++ و فورترن قابلیت اتصال و فراخوانی هنگام اجرای برنامه را دارند و کاربران خبره میتوانند توسط کدهای سی، مستقیماً اشیا R را تغییر دهند.
گرچه نرمافزار R اغلب به منظور انجام محاسبات آماری به کار میرود، این نرمافزار قابل به کارگیری در محاسبات ماتریسی است و در این زمینه، همپای نرمافزارهایی چون اُکتاو و نسخهٔ تجاری آن متلب(MATLAB) است.[۲]
R، همچنین نرمافزار قدرتمندی برای ایجاد اشکال گرافیکی و نمودارهاست.
بستهها
امکان توسعهٔ قابلیتهای R، با افزودن بستههای ایجاد شده توسط کاربران آن، یکی از ویژگیهای مهم این نرمافزار است. این بستهها توسط R، LaTeX، جاوا، سی++ و فورترن نوشته شدهاند. مجموعهای از بستههای اصلی R، هنگام نصب همراه برنامه وجود دارند و در مجموع ۴۴۴۲ بسته (تا آوریل ۲۰۱۳) در شبکهٔ بایگانی فراگیر آر (CRAN) وجود دارد.[۳] این بستهها طیف وسیعی از قابلیتها را در زمینههای مختلف تحلیل دادهها به 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)