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

دیتافریم ها: بخش نخست

دیتافریم را می توان یکی از پرکاربردترین ساختمان داده های زبان R دانست که برای ذخیره داده ها در قالب دوبعدی و همانند جدول ها مورد استفاده قرار می گیرد. به بیانی دیگر، برای انجام بسیاری از فرایندهای پردازشی، داده ها را باید در فرمت و قالب دیتافریم ذخیره کرد، خواه داده ها از یک فایل اکسل یا پایگاه داده خوانده شوند و یا از فضای وب استخراج شوند. در واقع، بسیاری از پکیج ها و توابع آن ها داده های ورودی را تنها در قالب دیتافریم می پذیرند؛ به همین دلیل تسلط به جنبه های مختلف این ساختمان داده، از اهمیت بسیار زیادی برخوردار است.

ایجاد دیتافریم

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

df_1 <- read.csv ("scores.csv")

به عنوان یک نکته متفرقه، برای فراهم کردن امکان خواندن داده ها به صورت تعاملی، می توان به صورت زیر عمل کرد.

df_2 <- read.csv(file.choose())

با اینحال، بسته به کاربرد و شرایط می توان دیتافریم ها را به صورت صریح و با داده های انتخابی ایجاد کرد.

df_3 <- data.frame (
+ course = c("R Data Science", "R Graphics", "R for Biology"),
+ duration = c(18, 15, 11),
+ sessions = c(6, 4, 3.5))

df_3
#          course duration sessions
#1 R Data Science       18      6.0
#2     R Graphics       15      4.0
#3  R for Biology       11      3.5  

برای آگاهی از ویژگی ها و جزئیات دیتافریم ایجاد شده از دستور summary(df_3) استفاده می شود. خروجی اجرای این دستور به صورت زیر می باشد.

دسترسی به عناصر دیتافریم هم همانند بردارها و ماتریس ها به وسیله اندیس ها و البته نام ستون ها انجام می شود.

df_3 [1] 
#          course 
#1 R Data Science      
#2     R Graphics       
#3  R for Biology       


df_3 [["duration"]]
# [1] 18 15 11

df_3$sessions
# [1] 6.0 4.0 3.5

تبدیل ساختمان داده های دیگر به دیتافریم

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

list_1 <- list(course_id = 1:3, titles = c("R", "Python", "Perl"), duration = c(5.5, 4, 8))

list_1
#$course_id
#[1] 1 2 3
#
#$titles
#[1] "R" "Python" "Perl"
#
#$duration
#[1] 5.5 4.0 8.0

list_1_df <- as.data.frame(list_1)
list_1_df
# course_id titles duration
#1 1 R 5.5
#2 2 Python 4.0
#3 3 Perl 8.0

تابع as.data.frame برای تبدیل ماتریس ها به دیتافریم هم کاربرد دارد.