دیتا فریم در زبان R یک جدول یا ساختار آرایهای دوبعدی است که در آن هر ستون شامل مقادیر یک متغیر بوده و هر سطر نمایانگر یک مجموعه از مقادیر تمام ستونهاست.
ویژگیهای اصلی دیتا فریم در زبان R
-
نام ستونها نباید خالی باشد.
-
نام سطرها باید یکتا باشند.
-
دادههای ذخیرهشده در دیتا فریم میتوانند از نوع عددی (numeric)، عاملی (factor) یا کاراکتری (character) باشند.
-
هر ستون باید شامل تعداد یکسانی داده باشد.
ایجاد فریم داده در R
1 2 3 4 5 6 7 8 9 10 11 |
# ایجاد دیتا فریم 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", "2015-03-27")), stringsAsFactors = FALSE ) # چاپ دیتا فریم print(emp.data) |
1 2 3 4 5 6 |
emp_id emp_name salary start_date 1 1 Rick 623.30 2012-01-01 2 2 Dan 515.20 2013-09-23 3 3 Michelle 611.00 2014-11-15 4 4 Ryan 729.00 2014-05-11 5 5 Gary 843.25 2015-03-27 |
بررسی ساختار دیتا فریم
برای مشاهده ساختار دیتا فریم از تابع str()
استفاده میکنیم.
1 2 3 4 5 6 7 8 9 10 11 12 |
# ایجاد دیتا فریم 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", "2015-03-27")), stringsAsFactors = FALSE ) # مشاهده ساختار فریم داده str(emp.data) |
1 2 3 4 5 |
'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()
استفاده میکنیم.
1 2 3 4 5 6 7 8 9 10 11 12 |
# ایجاد دیتافریم 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", "2015-03-27")), stringsAsFactors = FALSE ) # چاپ خلاصه آماری دیتا فریم print(summary(emp.data)) |
1 2 3 4 5 6 7 |
emp_id emp_name salary start_date Min. :1 Length:5 Min. :515.2 Min. :2012-01-01 1st 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 3rd Qu.:4 3rd Qu.:729.0 3rd Qu.:2014-11-15 Max. :5 Max. :843.2 Max. :2015-03-27 |
استخراج داده از دیتا فریم (Data Frame)
میتوان با استفاده از نام ستون یا اندیسها (index) دادههای خاصی را از فریم داده استخراج کرد.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
# ایجاد فریم داده 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", "2015-03-27")), stringsAsFactors = FALSE ) # استخراج ستونهای مشخص result <- data.frame(emp.data$emp_name, emp.data$salary) print(result) |
1 2 3 4 5 6 |
emp.data.emp_name emp.data.salary 1 Rick 623.30 2 Dan 515.20 3 Michelle 611.00 4 Ryan 729.00 5 Gary 843.25 |
استخراج دو سطر اول و تمام ستونها
1 2 3 4 5 6 7 8 9 10 11 12 13 |
# ایجاد دیتا فریم 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", "2015-03-27")), stringsAsFactors = FALSE ) # استخراج دو سطر اول result <- emp.data[1:2,] print(result) |
1 2 3 |
emp_id emp_name salary start_date 1 1 Rick 623.3 2012-01-01 2 2 Dan 515.2 2013-09-23 |
استخراج سطرهای 3 و 5 همراه با ستونهای 2 و 4
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
# ایجاد دیتا فریم 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", "2015-03-27")), stringsAsFactors = FALSE ) # استخراج سطرهای 3 و 5 با ستونهای 2 و 4 result <- emp.data[c(3,5),c(2,4)] print(result) |
1 2 3 |
emp_name start_date 3 Michelle 2014-11-15 5 Gary 2015-03-27 |
گسترش دیتا فریم در زبان R
فریم داده را میتوان با افزودن ستونها یا اضافه کردن سطرها گسترش داد.
افزودن ستون (Add Column)
برای اضافه کردن یک ستون جدید کافی است یک بردار (vector) را با نام ستون تازه به دیتا فریم تخصیص دهیم.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
# ایجاد فریم داده 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", "2015-03-27")), stringsAsFactors = FALSE ) # افزودن ستون "dept" emp.data$dept <- c("IT","Operations","IT","HR","Finance") v <- emp.data print(v) |
1 2 3 4 5 6 |
emp_id emp_name salary start_date dept 1 1 Rick 623.30 2012-01-01 IT 2 2 Dan 515.20 2013-09-23 Operations 3 3 Michelle 611.00 2014-11-15 IT 4 4 Ryan 729.00 2014-05-11 HR 5 5 Gary 843.25 2015-03-27 Finance |
افزودن سطر (Add Row)
برای افزودن سطرهای جدید بهصورت دائمی، باید دادههای تازه را با همان ساختار دیتا فریم موجود ایجاد کرده و سپس با استفاده از تابع rbind()
آنها را به هم متصل کنیم.
در مثال زیر، یک دیتا فریم با ردیفهای جدید ایجاد میکنیم و آن را با دیتا فریم موجود ادغام میکنیم تا دیتا فریم نهایی ایجاد شود.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# ایجاد فریم داده اول 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", "2015-03-27")), dept = c("IT","Operations","IT","HR","Finance"), stringsAsFactors = FALSE ) # ایجاد فریم داده دوم 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 ) # ترکیب دو فریم داده emp.finaldata <- rbind(emp.data, emp.newdata) print(emp.finaldata) |
1 2 3 4 5 6 7 8 9 |
emp_id emp_name salary start_date dept 1 1 Rick 623.30 2012-01-01 IT 2 2 Dan 515.20 2013-09-23 Operations 3 3 Michelle 611.00 2014-11-15 IT 4 4 Ryan 729.00 2014-05-11 HR 5 5 Gary 843.25 2015-03-27 Finance 6 6 Rasmi 578.00 2013-05-21 IT 7 7 Pranab 722.50 2013-07-30 Operations 8 8 Tusar 632.80 2014-06-17 Fianance |
راستی! برای دریافت مطالب جدید در کانال تلگرام یا پیج اینستاگرام سورس باران عضو شوید.
- انتشار: ۲۱ شهریور ۱۴۰۴
دسته بندی موضوعات
- آموزش ارز دیجیتال
- آموزش برنامه نویسی
- آموزش متنی برنامه نویسی
- اطلاعیه و سایر مطالب
- پروژه برنامه نویسی
- دوره های تخصصی برنامه نویسی
- رپورتاژ
- فیلم های آموزشی
- ++C
- ADO.NET
- Adobe Flash
- Ajax
- AngularJS
- apache
- ARM
- Asp.Net
- ASP.NET MVC
- AVR
- Bootstrap
- CCNA
- CCNP
- CMD
- CSS
- Dreameaver
- EntityFramework
- HTML
- IOS
- jquery
- Linq
- Mysql
- Oracle
- PHP
- PHPMyAdmin
- Rational Rose
- silver light
- SQL Server
- Stimulsoft Reports
- Telerik
- UML
- VB.NET&VB6
- WPF
- Xml
- آموزش های پروژه محور
- اتوکد
- الگوریتم تقریبی
- امنیت
- اندروید
- اندروید استودیو
- بک ترک
- بیسیک فور اندروید
- پایتون
- جاوا
- جاوا اسکریپت
- جوملا
- دلفی
- دوره آموزش Go
- دوره های رایگان پیشنهادی
- زامارین
- سئو
- ساخت CMS
- سی شارپ
- شبکه و مجازی سازی
- طراحی الگوریتم
- طراحی بازی
- طراحی وب
- فتوشاپ
- فریم ورک codeigniter
- فلاتر
- کانستراکت
- کریستال ریپورت
- لاراول
- معماری کامپیوتر
- مهندسی اینترنت
- هوش مصنوعی
- یونیتی
- کتاب های آموزشی
- Android
- ASP.NET
- AVR
- LINQ
- php
- Workflow
- اچ تی ام ال
- بانک اطلاعاتی
- برنامه نویسی سوکت
- برنامه نویسی موبایل
- پاسکال
- پایان نامه
- پایتون
- جاوا
- جاوا اسکریپت
- جی کوئری
- داده کاوی
- دلفی
- رباتیک
- سئو
- سایر کتاب ها
- سخت افزار
- سی اس اس
- سی پلاس پلاس
- سی شارپ
- طراحی الگوریتم
- فتوشاپ
- مقاله
- مهندسی نرم افزار
- هک و امنیت
- هوش مصنوعی
- ویژوال بیسیک
- نرم افزار و ابزار برنامه نویسی
- وردپرس