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

تولید جدول های پیشرفته در R

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

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

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

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

برای استفاده بهتر از این آموزش توجه به دو نکته ضروری است:

  • نخست اینکه در این آموزش تنها به معرفی کتابخانه ها و ارائه مثال های محدود خواهیم پرداخت و بررسی جزئیات را به آموزش های بعدی موکول می کنیم.
  • نصب هر یک از پکیج ها (بر روی نسخه نصب شده Rی که از آن استفاده می کنید) به احتمال زیاد وابسته به نصب چندین پکیج دیگر است که به صورت خودکار انجام می شود و تنها کاری که باید انجام دهید، حفظ شکیبایی در هنگام نصب آن هاست! البته، برای پیشگیری از مشکلات احتمالی نصب پکیج ها، سعی کنید از آخرین نسخه زبان R استفاده کنید (آزمایش ها بر روی سیستم عامل ویندوز 11 و نسخه 4.3.2 زبان R انجام شده است).

تولید جدول با استفاده از پکیج gt

در این مثال خواهیم دید که چگونه با استفاده از پکیج gt می توان کیفیت تولید جدول ها را افزایش داد. برای مقایسه، ابتدا از روش پیش فرض R برای بازنمایی داده ها استفاده می کنیم.

حالا برای استفاده از پکیج gt ابتدا آن را نصب می کنیم، سپس پکیج را بارگذاری کرده و داده های موردنظرمان را دریک دیتافریم ذخیره می کنیم.

install.packages("gt")
library(gt)

df <- data.frame (mtcars)

سپس با استفاده از دستورالعمل ارائه شده در پکیج می توانیم داده ها را در قالب جدولی خواناتر نمایش دهیم.

df %>%gt()

اگرچه این جدول جدید خوانایی بیشتری دارد ولی همچنان ساده و بدون نمای خاصی است. خوشبختانه پکیج gt امکانات لازم برای تغییر ظاهر جدول ها را فراهم می کند، به عنوان مثال با تغییر رنگ برخی ستون ها و افزودن عنوان به جدول.

df %>%gt() %>%
tab_header(title = "mtcars dataset") %>%
tab_style(
style = list(cell_fill(color = "#abf518"),
cell_text(weight = "bold")),
locations = cells_body(columns = disp))%>%
tab_style(
style = list(cell_fill(color = "#f8f2fa"),
cell_text(weight = "bold")),
locations = cells_body(columns = wt))

تولید جدول با استفاده از پکیج formattable

تولید جدول با استفاده از قابلیت های پکیج formattable امکان اضافه ای در زمینه بازنمایی بصری داده ها را هم فراهم می کند. به عنوان مثال، با استفاده از تابع ()color_bar می توان مقادیر سلول های جدول را براساس مقیاس آن ها و به صورت گرافیکی مقایسه کرد. مثال زیر نمونه ای از کاربرد این تابع است.

install.packages("formattable")
library(formattable)

df <- data.frame (mtcars)

formattable(df, list(

mpg = color_bar("#49ce1c"),

cyl = color_bar("#fac8f7"),

drat = color_bar("#16ed8c")))

تولید جدول های تعاملی با استفاده از پکیج DT

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

install.packages("DT")
library(DT)

df <- data.frame (mtcars)

datatable(

data = df,

caption = "A sample Dynamic Table",

filter = "top"

)

پارامتر filter در قطعه کد بالا، جایگاه قرارگیری باکس های اعمال فیلتر را تعیین می کند. پیشنهاد می کنیم یکبار دیگر این کد را با حذف این پارامتر اجرا کنید. مقادیر قابل قبول برای filter عبارتند از ” “none”, “bottom “, “top.