انواع ساختار‌‌های داده در R، بخش پایانی

در پست قبلی، با ماتریس و data frame (معادل‌های چارچوب‌داده یا داده چارچوب‌دار برای آن پیشنهاد شده است) آشنا شدیم. این ساختارهای داده، دو بعدی بودند و معمولا هر ردیف آن، نماینده یک مشاهده و هر ستون آن نماینده یک مشخصه بود. فرض کنید داده‌ای داریم که نیازمند بعد زمان نیز هست. مثلا چهار دانش‌آموز، سه امتحان را در دو هفته پشت سر گذاشته‌اند و می‌خواهیم به جای این که یک ماتریس جداگانه برای هر هفته داشته باشیم، در یک ساختار داده همه چیز را خلاصه کنیم، در اینجا ساختار داده‌ای به نام Array کار ما را راه می‌اندازد. داده‌های اولیه را در R به وجود می‌آوریم:

دستور sample ، از داده‌ای که به آن می‌دهید نمونه‌گیری تصادفی انجام می‌دهد و در اینجا، داده‌ی ورودی آن اعداد ۱ تا ۱۰ هستند و ما ۱۲ عدد بین این اعداد لازم داریم، به همین دلیل منطقی است که نمونه‌گیری باید با جایگذاری باشد (replace = TRUE) تا به مشکل بر نخوریم. حالا با دستور array این دو ماتریس را به هم وصل می‌کنیم:

Array لزوما سه‌بعدی نیست و می‌تواند هر تعداد که بخواهید بعد داشته باشد. مثلا، در همین مثال بالا، فرض کنید ۸ دانش‌آموز در دو کلاس a و b باشیم، داده‌ها رو دوباره با دستور sample تولید می‌کنیم:

و آرایه a را دوباره با ترکیب این چهار ماتریس به وجود می‌آوریم:

همان طور که می‌بینید آرایه ما چهاربعدی شد. نکته دیگری که وجود دارد این است که آرایه ما در حال حاضر خیلی گویا نیست، پس بهتر است بعدهای آن را نام‌گذاری کنیم، دستور dimnames یا آرگیومنتی به همین نام در تابع array این کار را برای ما انجام می‌دهد:

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

می‌توان به هر عضو لیست، یک نام اختصاص داد، این کار استفاده از لیست را آسانتر می‌کند:

برای دسترسی به هر عضو یک لیست، دو راه وجود دارد، استفاده از $ و استفاده از [[]]

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

دیدگاه‌تان را بنویسید: