برای مشاهده یافته ها از کلید Enter و برای خروج از کلید Esc استفاده کنید.

بازنمایی بصری داده ها در R: معرفی

فارغ از اینکه در چه حوزه ای فعالیت می کنیم و با چه نوع داده هایی سر و کار داریم، بازنمایی بصری داده ها (Data Visualization) نقش بسیار پررنگ و مهمی در بررسی، تحلیل و ارائه نتایج دارند. به صورت کلی نباید انتظار داشته باشیم که مشتریان، مدیران و حتی کاربران نهایی (End-users) بتوانند نتایج مورد نظرشان را از دل فرمول ها و قواعد پیچیده و حتی اعداد و ارقام استخراج کنند. هنر بازنمایی بصری در این است که امکان انتقال سریع مفهوم را فراهم می کند و به جای اینکه با توضیحات متنی و یا داده های عددی که در قالب جدول ها ارائه می شوند بخواهیم نتیجه ارزیابی های انجام شده بر روی داده ها را ارائه کنیم، می توان با استفاده از نمودارهای مناسب این فرایند را تسهیل و تسریع کرد.

به صورت مشخص در زمینه تحلیل های آماری داده ها، بازنمایی بصری از اهمیت بسیار زیادی برخوردار است چرا که به سادگی می تواند مفاهیم پنهان در داده ها را به شیوه ای قابل درک به طیف گسترده ای از کاربران و استفاده کنندگان از نتایج ارائه نماید. با توجه به اینکه زبان R به عنوان یک ابزار اختصاصی در این زمینه شناخته می شود، انتظار به جایی وجود دارد که ویژگی های بازنمایی قابل توجهی را نیز به تحلیل گرها داده ارائه کند. به عبارت دیگر، تحلیل و محاسبات آماری، برای مفید و موثر بودن وابسته به بازنمایی مناسب نتایج است و استفاده از روش های گرافیکی در این زمینه، اثربخشی فرایند را به شکل قابل توجهی افزایش می دهد.

خبر خوب در این باره این است که مجموعه گسترده ای از ابزار و پکیج های مختلف برای بازنمایی بصری داده ها در زبان R وجود دارد که بررسی دقیق و تخصصی آن ها در ادامه در دستور کار مجموعه آر-آکادمی قرار دارد. با اینحال، در این آموزش، نگاهی کلی به برخی از روش های اولیه ترسیم نمودار در R خواهیم داشت. البته لازم به ذکر است که با استفاده از همین روش های به ظاهر ساده هم می توان خروجی ها ارزشمندی برای نتایج تحلیل ها تولید کرد و همچنین آن ها را می توان برای فرایند اکتشاف اولیه داده ها (Data Exploration) نیز مورد بهره برداری قرار داد.

اشاره به این موضوع هم دارای اهمیت است که برای فرایندهای بازنمایی بصری داده ها و ترسیم نمودارهای مختلف، پکیج های مختلف، امکانات متعددی را در اختیار برنامه نویس ها قرار داده اند که بررسی آن ها در آینده انجام خواهد شد. با اینحال، در این آموزش از قابلیت های اولیه R و بدون استفاده از پکیج خاصی برای ترسیم نمودارها استفاده می کنیم. همچنین، به عنوان داده های مورد استفاده در فرایند تولید نمودارها، از داده های دیتاست mtcars استفاده می کنیم.

نکته: بررسی کاربردهای هر نوع از نمودارها و همچنین جزئیات فرایند تولید آن ها به صورت مشروح در آموزش های پیش رو مورد بحث قرار خواهند گرفت و در این بخش، تنها و به صورت کلی به چگونگی رسم نمودارها با هدف نمایش قابلیت های زبان R خواهیم پرداخت.

نمودار دایره ای (Pie Chart)

در این مثال، خودروهای موجود در دیتاست را براساس تعداد کاربوراتورهای آن ها گروه بندی می کند. (توجه داشته باشید که اطلاعات خودروها مربوط به سال 1974 است!)

در هنگام اجرای این کد دقت کنید که تابع ()pie نمودار را رسم می کند و خروجی را در قالب بازنمایی گرافیکی به شما نمایش می دهد و برای اضافه کردن اطلاعات مربوط به نمودار (legend) از تابع مربوط به آن استفاده می شود که اجرای آن نیازمند این است که پنجره مربوط به نمودار رسم شده، بسته نشود. به بیان دیگر، تابع ()legend توضیحات راهنمای نمودار را پس از تولید نمودار به آن اضافه می کند.

carbs <- table(mtcars$carb)

View(carbs)

percent<- round(100*carbs/sum(carbs), 1)

pielabels<- paste(percent, "%", sep="")

pie(carbs,col = rainbow(length(carbs)), labels = percent , main = '% of Carburetors', cex = 0.8)

legend("topright", c("Carburetor-1","Carburetor-2","Carburetor-3","Carburetor-4","Carburetor-6","Carburetor-8"), cex=0.8, fill= rainbow(length(carbs)))

نمودار میله ای (Bar Chart)

در این مثال، خودروها را بر اساس تعداد دنده ها (Gear) طبقه بندی می کنیم و نتیجه را در قالب یک نموداره میله ای نمایش می دهیم.

gearNum<-table(mtcars$gear)

View(gearNum)

xVal<-c("Type 3", "Type 4","Type 5")

barplot(gearNum,names.arg=xVal,xlab="Number of Gears",ylab="Total # of each type",col="green", main="Distribution Of Gear Types",border="black")

نموداری میله ای پشته ای (Stacked Bar Chart)

این نوع نمودار برای ارائه همزمان چندنوع اطلاعات در یک بازنمایی مورد استفاده قرار می گیرد و در واقع یک نمودار چند بعدی (با چند نوع طبقه بندی) محسوب می شود. در این مثال، با استفاده از نمودار میله ای پشته ای وضعیت تعداد دنده های خودروها در دیتاست را براساس تعداد سیلندرهای آن ها بررسی و گروه بندی می کنیم.

cylGear<-table(mtcars$cyl,mtcars$gear)

View(cylGear)

colors = c("red","green","violet")

xVal<-c("Type 3", "Type 4","Type 5")

barplot(cylGear, main = "Distribution of Gears vs Cyclinders", names.arg = xVal, xlab = "Gear Types", ylab = "Frequency", col = colors)

legend("topright", rownames(cylGear), cex = 1.3, fill = colors)

نمودار نقطه ای (Scatter Plot)

اگرچه از دیدگاه زیبایی شناسی گرافیکی شاید نمودارهای نقطه ای چندان جالب توجه نباشند (که البته می توان برای رفع این مشکل هم راه حل هایی را درنظر گرفت)، کاربردهای آن در بررسی ارتباط بین دو متغیر و تاثیر آن ها بر یکدیگر آن ها را به گونه ای محبوب و البته پرکاربرد از نمودارها تبدیل کرده است. در این مثال، ارتباط بین وزن خودروها (wt) و میزان مصرف سوخت در هر مایل (mpg) با استفاده از نمودار نقطه ای بازنمایی می شود.

توجه داشته باشید که برای مشخص کردن محدوده داده ها در محورهای x و y که در این مثال به ترتیب به وزن و میزان مصرف سوخت خودروها اختصاص دارند، می توانیم از تنظیم مقادیر xlim و ylim استفاده کنیم.

wtMpg <- mtcars[,c('wt','mpg')]

plot(x = wtMpg$wt,y = wtMpg$mpg,

xlab = "Weight",

ylab = "Milage",

xlim = c(1,6),

ylim = c(10,35),

main = "Weight vs Milage"

)

گام بعدی؟

در این قسمت از طریق چند مثال ساده بررسی کردیم که چگونه می توان با استفاده از قابلیت های پیش فرض زبان R نمودارهای قابل توجهی را رسم کنیم ولی این تنها نقطه آغاز داستان بازنمایی گرافیکی داده ها در زبان R است. پکیج های قدرتمندی برای برنامه نویس های زبان R ارائه شده اند که امکان ایجاد نمودارهای فوق العاده کاربردی، زیبا و البته حرفه ای را فراهم می کنند. همچنین قابلیت تولید نمودارهای تعاملی (Interactive) برای ایجاد داشبوردهای مدیریتی و ارائه نتایج تحلیل ها در محیط وب از دیگر ویژگی های هستند که باید به آن ها پرداخته شود. از سوی دیگر، تولید نمودارهای گرافیکی موثر و کاربردی نیاز به آگاهی از کاربرد هریک از نمودارها و انتخاب مناسب آن ها و البته توانایی تفسیر آن ها دارد.

تمامی این مباحث از سرفصل های مهم R-Academy هستند که در زمان مناسب به صورت کامل به آن ها پرداخته می شود و این آموزش تنها یک معرفی عمومی از آنچه می توان در زبان R انجام داد، بود. پیشنهاد ما به شما این است که تا شروع آموزش های تخصصی بازنمایی گرافیکی داده ها در زبان R، با مثال های ارائه شده در این آموزش کار کنید و با تغییر مقادیر و پارامترهای موجود، با نحوه کار آن ها به صورت کلی آشنا شوید.