آر

آموزش چهارچوب های داده (دیتا فریم) در R

اساطیر زبان

یک دیتا فریم، یک جدول و یا یک ساختار آرایه مانند دو بعدی است که در آن هر ستون شامل مقادیری از متغیرها می باشد و هر ردیف؛ شامل یک مجموعه از مقادیر هر ستون است.

در ادامه؛ مشخصات یک دیتا فریم آورده شده است:

  • نام های ستونها نباید خالی باشد.
  • نام های ردیف ها باید خاص باشد.
  • دیتای ذخیره شده دیتافریم می تواند به صورت عددی، فاکتور یا نوع کاراکتری باشد.
  • هر ستون باید شامل تعداد یکسانی از آیتم های داده باشد.

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

# Create the data frame.

emp.data <- data.frame(

emp_id = c (1:5),

emp_name = c(“Rick”,”Dan”,”Michelle”,”Ryan”,”Gary”),

salary = c(623.3,515.2,611.0,729.0,843.25),

start_date = as.Date(c(“2012-01-01”, “2013-09-23”, “2014-11-15”, “2014-05-11”,

“۲۰۱۵-۰۳-۲۷”)),

stringsAsFactors = FALSE

)

# Print the data frame.

print(emp.data)

زمانی که کد بالا را اجرا می کنیم؛ نتیجه زیر را به دست می آوریم:

emp_id emp_name salary start_date

۱ ۱ Rick 623.30 2012-01-01

۲ ۲ Dan 515.20 2013-09-23

۳ ۳ Michelle 611.00 2014-11-15

۴ ۴ Ryan 729.00 2014-05-11

۵ ۵ Gary 843.25 2015-03-27

ساختار دهی دیتا فریم

ساختار دیتا فریم را می توان با استفاده از تابع ()str مشاهده کرد.

# Create the data frame.

emp.data <- data.frame(

emp_id = c (1:5),

emp_name = c(“Rick”,”Dan”,”Michelle”,”Ryan”,”Gary”),

salary = c(623.3,515.2,611.0,729.0,843.25),

start_date = as.Date(c(“2012-01-01”, “2013-09-23”, “2014-11-15”, “2014-05-11”,

“۲۰۱۵-۰۳-۲۷”)),

stringsAsFactors = FALSE

)

# Get the structure of the data frame.

str(emp.data)

زمانی که کد بالا را اجرا می کنیم؛ نتیجه زیر را به دست می آوریم:

‘data.frame’: 5 obs. of 4 variables:

$ emp_id : int 1 2 3 4 5

$ emp_name : chr “Rick” “Dan” “Michelle” “Ryan” …

$ salary : num 623 515 611 729 843

$ start_date: Date, format: “2012-01-01” “2013-09-23” “2014-11-15” “2014-05-11” …

خلاصه کردن داده ها در دیتافریم

خلاصه آماری و ماهیت داده ها را می توان با اعمال تابع ()summary به دست آورد:

# Create the data frame.

emp.data <- data.frame(

emp_id = c (1:5),

emp_name = c(“Rick”,”Dan”,”Michelle”,”Ryan”,”Gary”),

salary = c(623.3,515.2,611.0,729.0,843.25),

start_date = as.Date(c(“2012-01-01”, “2013-09-23”, “2014-11-15”, “2014-05-11”,

“۲۰۱۵-۰۳-۲۷”)),

stringsAsFactors = FALSE

)

# Print the summary.

print(summary(emp.data))

زمانی که کد بالا را اجرا کنیم؛ نتیجه زیر حاصل می شود:

emp_id emp_name salary start_date

Min. :1 Length:5 Min. :515.2 Min. :2012-01-01

۱st Qu.:2 Class :character 1st Qu.:611.0 1st Qu.:2013-09-23

Median :3 Mode :character Median :623.3 Median :2014-05-11

Mean :3 Mean :664.4 Mean :2014-01-14

۳rd Qu.:4 3rd Qu.:729.0 3rd Qu.:2014-11-15

Max. :5 Max. :843.2 Max. :2015-03-27

استخراج داده ها از فریم دیتا

استخراج یک ستون خاص از فریم دیتا را می توان با استفاده از نام ستون انجام داد:

# Create the data frame.

emp.data <- data.frame(

emp_id = c (1:5),

emp_name = c(“Rick”,”Dan”,”Michelle”,”Ryan”,”Gary”),

salary = c(623.3,515.2,611.0,729.0,843.25),

start_date = as.Date(c(“2012-01-01″,”2013-09-23″,”2014-11-15″,”2014-05-11”,

“۲۰۱۵-۰۳-۲۷”)),

stringsAsFactors = FALSE

)

# Extract Specific columns.

result <- data.frame(emp.data$emp_name,emp.data$salary)

print(result)

زمانی که کد بالا را اجرا نمایید؛ نتیجه زیر را به دست می آورید:

emp.data.emp_name emp.data.salary

۱ Rick 623.30

۲ Dan 515.20

۳ Michelle 611.00

۴ Ryan 729.00

۵ Gary 843.25

استخراج دو ردیف اول و سپس تمام ستون ها

# Create the data frame.

emp.data <- data.frame(

emp_id = c (1:5),

emp_name = c(“Rick”,”Dan”,”Michelle”,”Ryan”,”Gary”),

salary = c(623.3,515.2,611.0,729.0,843.25),

start_date = as.Date(c(“2012-01-01”, “2013-09-23”, “2014-11-15”, “2014-05-11”,

“۲۰۱۵-۰۳-۲۷”)),

stringsAsFactors = FALSE

)

# Extract first two rows.

result <- emp.data[1:2,]

print(result)

با اجرای کد بالا، نتایج زیر حاصل می شود :

emp_id emp_name salary start_date

۱ ۱ Rick 623.3 2012-01-01

۲ ۲ Dan 515.2 2013-09-23

استخراج ردیف سوم و پنجم با ستون دوم و چهارم

# Create the data frame.

emp.data <- data.frame(

emp_id = c (1:5),

emp_name = c(“Rick”,”Dan”,”Michelle”,”Ryan”,”Gary”),

salary = c(623.3,515.2,611.0,729.0,843.25),

start_date = as.Date(c(“2012-01-01”, “2013-09-23”, “2014-11-15”, “2014-05-11”,

“۲۰۱۵-۰۳-۲۷”)),

stringsAsFactors = FALSE

)

# Extract 3rd and 5th row with 2nd and 4th column.

result <- emp.data[c(3,5),c(2,4)]

print(result)

اجرای کد بالا، نتیجه زیر را در خروجی ایجاد می کند:

emp_name start_date

۳ Michelle 2014-11-15

۵ Gary 2015-03-27

بسط دادن فریم دیتا

یک فریم دیتا را می توان با اضافه کردن ردیف ها و ستون ها، بسط داد.

افزودن ستون

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

# Create the data frame.

emp.data <- data.frame(

emp_id = c (1:5),

emp_name = c(“Rick”,”Dan”,”Michelle”,”Ryan”,”Gary”),

salary = c(623.3,515.2,611.0,729.0,843.25),

start_date = as.Date(c(“2012-01-01”, “2013-09-23”, “2014-11-15”, “2014-05-11”,

“۲۰۱۵-۰۳-۲۷”)),

stringsAsFactors = FALSE

)

# Add the “dept” coulmn.

emp.data$dept <- c(“IT”,”Operations”,”IT”,”HR”,”Finance”)

v <- emp.data

print(v)

زمانی که کد بالا را اجرا می کنیم؛ نتیجه زیر به دست می آید:

emp_id emp_name salary start_date dept

۱ ۱ Rick 623.30 2012-01-01 IT

۲ ۲ Dan 515.20 2013-09-23 Operations

۳ ۳ Michelle 611.00 2014-11-15 IT

۴ ۴ Ryan 729.00 2014-05-11 HR

۵ ۵ Gary 843.25 2015-03-27 Finance

افزودن ردیف

برای افزودن ردیف های بیشتر به یک فریم دیتای موجود، باید ردیف های جدید را در همان ساختار داده های موجود وارد کنیم و از تابع ()rbind استفاده کنیم.

در مثال زیر یک دیتافریم با ردیف های جدید ایجاد می کنیم و آن را با فریم دیتای موجود ادغام می کنیم تا فریم دیتای نهایی ایجاد شود.

# Create the first data frame.

emp.data <- data.frame(

emp_id = c (1:5),

emp_name = c(“Rick”,”Dan”,”Michelle”,”Ryan”,”Gary”),

salary = c(623.3,515.2,611.0,729.0,843.25),

start_date = as.Date(c(“2012-01-01”, “2013-09-23”, “2014-11-15”, “2014-05-11”,

“۲۰۱۵-۰۳-۲۷”)),

dept = c(“IT”,”Operations”,”IT”,”HR”,”Finance”),

stringsAsFactors = FALSE

)

# Create the second data frame

emp.newdata <- data.frame(

emp_id = c (6:8),

emp_name = c(“Rasmi”,”Pranab”,”Tusar”),

salary = c(578.0,722.5,632.8),

start_date = as.Date(c(“2013-05-21″,”2013-07-30″,”2014-06-17”)),

dept = c(“IT”,”Operations”,”Fianance”),

stringsAsFactors = FALSE

)

# Bind the two data frames.

emp.finaldata <- rbind(emp.data,emp.newdata)

print(emp.finaldata)

زمانیکه کد بالا اجرا شود؛ نتیجه زیر ایجاد می شود:

emp_id emp_name salary start_date dept

۱ ۱ Rick 623.30 2012-01-01 IT

۲ ۲ Dan 515.20 2013-09-23 Operations

۳ ۳ Michelle 611.00 2014-11-15 IT

۴ ۴ Ryan 729.00 2014-05-11 HR

۵ ۵ Gary 843.25 2015-03-27 Finance

۶ ۶ Rasmi 578.00 2013-05-21 IT

۷ ۷ Pranab 722.50 2013-07-30 Operations

۸ ۸ Tusar 632.80 2014-06-17 Fianance

تفاوت پک های حرفه ای ما با آموزشهای رایگان: بطور خلاصه از زمین تا آسمان! 1-پکها، جدیدترین نسخه نرم افزارها را آموزش می دهند با قابلیت های بسیار بیشتر. 2-پکها توسط متخصص آن نرم افزار، به صورت کاملا پروژه محور و با حل چالش هایی که در مسیر کار عملی و حرفه ای با آن روبرو می شوید تهیه شده اند و بعد از استفاده، کاملا برای بازار کار آماده اید! 3- متد این پکها کاملا کار شده و تا ماهها، در ذهن تان ماندگارند و یادگیری بسیار سریعتر و کاملتری خواهید داشت. آموزشهای رایگان فقط دستورات نرم افزارها را (آنهم ناقص) بیان می کنند و تازه برای ورود به بازار باید ماهها تجربه عملی هم کسب کنید !!

turned_in

چرب زبان

با این اپلیکیشن ساده، هر زبانی رو فقط با 5 دقیقه در روز، توی 80 روز مثل بلبل حرف بزن! بهترین متد روز، تقویت حافظه، آموزش تصویری. یادگیری زبان کلید یادگیری هر مهارتی در قرن 21 !


حتما بخوانید!

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

این فیلد را پر کنید
این فیلد را پر کنید
لطفاً یک نشانی ایمیل معتبر بنویسید.

فهرست