فهرست
data.frame چیست؟
در بسیاری از مسائل تحلیلی، دادهها در قالب جدول سازماندهی میشوند. سازماندهی دادهها در قالب جدول پردازش بسیاری از دادهها را سادهتر میکند. برای اینکه کار با جدول در محیط R راحت و بیدردسر باشد، نوعی به نام data.frame در R وجود دارد. در data.frame
دادهها در قالب جدول سازماندهی میشوند.
نوع data.frame در R در واقع حالت خاصی از list است که دو ویژگی افزون بر لیست دارد:
- اعضای آن همگی بُردارهایی از نوع numeric ،integer ،logical ،character و factor هستند.
- طول تمامی اعضای آن یکسان است.
- تمامی اعضای لیست، نام دارند.
به بیان سادهتر، data.frame لیستی است که از تعداد بردار همطولِ نامگذاری شده تشکیل شده است.
تعریف در محیط R
برای تعریف data.frame از تابعی پیشساخته با همین نام استفاده میشود. فرض کنید نظر چند نفر را درباره یک محصول پرسیدهایم و میخواهیم نظرات پرسششوندگان را همراه با برخی اطلاعات دموگرافیک آنها مانند سن، جنسیت، وضعیت تاهل و سال نظرسنجی در یک جدول ذخیره کنیم. برای ایجاد چنین جدولی کافیست به صورت زیر عمل کنیم:
d = data.frame(name = c('Ali', 'Maryam', 'Sina', 'Zahra', 'Mina'),
gender = c('male', 'female', 'male', 'female', 'female'),
age = c(14, 16, 21, 32, 37),
married = c(F, F, F, T, T),
Opinion = c('like', 'dislike', 'like', 'dislike', 'dislike'),
year = 1400)
class(d)
print(d)
[1] "data.frame"
name gender age married Opinion year
1 Ali male 14 FALSE like 1400
2 Maryam female 16 FALSE dislike 1400
3 Sina male 21 FALSE like 1400
4 Zahra female 32 TRUE dislike 1400
5 Mina female 37 TRUE dislike 1400
در کد بالا، متغیر d از نوع جدول data.frame است. بردارهای مختلف از نوعهای character، numeric و logical به عنوان ستونهای جدول به یکدیگر وصل شدهاند و یک جدول را تشکیل دادهاند.
* * *
چگونه دادهها را در قالب جدول سازماندهی کنیم؟
اینکه دادههای خود را چگونه در قالب جدول سازماندهی کنیم به نیازمندیهای مسئله بستگی دارد. یکی از پرکاربردترین روشها برای ساماندهی دادهها، آرایش آنها به گونهای است که هر سطر نشاندهندۀ یک مشاهده، هر ستون نشاندهندۀ یک متغیر و هر خانه از جدول نشاندهندۀ تنها یک مقدار باشد.
در این روش سازماندهی دادهها، هیچ دو خانهای با یکدیگر ادغام (merge) نمیشود.
سطر: مشاهده
هر یک از سطرها در جدول d، معرّف مقادیر مربوط به یکی از پرسششوندگان است که اصطلاحاً به هر یک از آنها یک مشاهده (Observation) گفته میشود. مشاهدهها از روی یکدیگر قابل محاسبه نیستند؛ مثلا اگر مقدار متوسط سن پرسششوندگان را در یک سطر به جدول اضافه کنیم، این سطر دیگر یک مشاهده قلمداد نمیشود چون از روی دیگر سطرها قابل محاسبه است.
ستون: متغیر
اگر سطرهای جدول نشانگرِ یک مشاهده باشند، میتوانیم هر یک از ستونهای آن را از نقطهنظر آماری یک متغیر (Variable) قلمداد کنیم.
* * *
آرایش یک جدول به گونهای که سطرها مجموعهای از مشاهدات باشند امکان انجام اعمال ریاضی روی ستونها را که در تحلیل دادهها حائز اهمیت فراوان است فراهم میکند. مثلا برای اینکه بفهمیم چند نفر از پرسششوندگان متاهل بودهاند کافیست ستون married
را از جدولِ d
فراخوانی و مقادیر آن را با یکدیگر جمع کنیم.
سازماندهی جدول در قالب مشاهده و متغیر، علاوه بر محاسبات ریاضی، فراخوانیهای وابسته به چند ستون را هم میسر میکند.
در درسهای بعد با این موارد بیشتر آشنا خواهیم شد.