بهطور کلی، هنگام برنامه نویسی در هر زبان، باید از متغیرهای مختلف برای ذخیره اطلاعات گوناگون استفاده کنید. متغیرها در واقع فضای مشخصی در حافظه را رزرو میکنند تا مقادیر را نگهداری کنند. این یعنی وقتی متغیری ایجاد میکنید، بخشی از حافظه را رزرو کردهاید. در ادامه انواع داده در زبان R را بررسی میکنیم.
ممکن است بخواهید اطلاعاتی از انواع دادهای مانند کاراکتر، کاراکتر گسترده، عدد صحیح (Integer) و عدد اعشاری (Floating Point) ذخیره کنید. همچنین ممکن است نیاز به ذخیره عدد اعشاری دابل (Double Floating Point)، بولین (Boolean) و انواع دیگر داشته باشید. سیستمعامل بر اساس نوع داده متغیر، حافظه اختصاص میدهد و تعیین میکند چه مواردی را میتوان در آن ذخیره کرد.
انواع داده در زبان R
برخلاف زبانهایی مانند C و Java، در R متغیرها را بهعنوان یک نوع داده مشخص اعلام نمیکنیم. در R، ما متغیرها را با R-Objects مقداردهی میکنیم و نوع داده متغیر همان نوع R-Objects خواهد بود. R-Objects انواع مختلفی دارند. پرکاربردترینِ آنها عبارتاند از:
-
بردارها (Vectors)
-
لیستها (Lists)
-
ماتریسها (Matrices)
-
آرایهها (Arrays)
-
فاکتورها (Factors)
-
چارچوبهای داده (Data Frames)
سادهترینِ این اشیاء شیء بردار است. بردارهای اتمی شش نوع داده دارند؛ به این شش نوع، شش کلاس بردار نیز میگویند. بردارهای اتمی، پایه ساخت سایر R-Objects را تشکیل میدهند.
نوع داده | مثال | Verify | ||||
منطقی (Logical) | TRUE, FALSE |
|
||||
عددی (Numeric) | 12.3, 5, 999 |
|
||||
عدد صحیح (Integer) | 2L, 34L, 0L |
|
||||
مختلط (Complex) | 3 + 2i |
|
||||
کاراکتر (Character) | ‘a’ , ‘”good”, “TRUE”, ‘23.4’ |
|
||||
خام (Raw) | “Hello” is stored as 48 65 6c 6c 6f |
|
در زبان برنامه نویسی R، ابتداییترین نوع داده، R-objects بردارها (Vectors) هستند که عناصر مربوط به کلاسهای مختلف را در خود نگه میدارند. توجه داشته باشید که تعداد کلاسها در R محدود به شش نوعی که پیشتر گفته شد نیست. به عنوان نمونه، میتوانیم با استفاده از بردارهای اتمی مختلف یک آرایه (Array) بسازیم و در این حالت، کلاس آن شیء به صورت آرایه تعریف میشود.
بردارها (Vectors)
هنگامی که بخواهید یک بردار با بیش از یک عنصر ایجاد کنید، باید از تابع c()
استفاده کنید. این تابع عناصر را با هم ترکیب کرده و یک بردار میسازد.
1 2 3 4 5 6 |
# Create a vector. apple <- c('red','green',"yellow") print(apple) # Get the class of the vector. print(class(apple)) |
1 2 |
[1] "red" "green" "yellow" [1] "character" |
لیست ها (Lists)
لیست یک R-object است که میتواند عناصر بسیار متنوعی را در خود نگه دارد. این عناصر ممکن است شامل بردارها، توابع و حتی یک لیست دیگر باشند.
1 2 3 4 5 |
# Create a list. list1 <- list(c(2,5,3),21.3,sin) # Print the list. print(list1) |
1 2 3 4 5 6 7 8 |
[[1]] [1] 2 5 3 [[2]] [1] 21.3 [[3]] function (x) .Primitive("sin") |
ماتریس ها (Matrices)
ماتریس یک مجموعه داده مستطیلی دو بعدی است. برای ایجاد یک ماتریس میتوانید از یک بردار به عنوان ورودی در تابع matrix()
استفاده کنید.
1 2 3 |
# Create a matrix. M = matrix( c('a','a','b','c','b','a'), nrow = 2, ncol = 3, byrow = TRUE) print(M) |
1 2 3 |
[,1] [,2] [,3] [1,] "a" "a" "b" [2,] "c" "b" "a" |
آرایه ها (Arrays)
در حالی که ماتریسها محدود به دو بُعد هستند، آرایهها میتوانند هر تعداد بُعد داشته باشند. تابع array()
یک ویژگی به نام dim
میگیرد که تعداد ابعاد موردنیاز را مشخص میکند.
در مثال زیر یک آرایه ایجاد میکنیم که شامل دو ماتریس ۳×۳ است:
1 2 3 |
# Create an array. a <- array(c('green','yellow'),dim = c(3,3,2)) print(a) |
1 2 3 4 5 6 7 8 9 10 11 12 13 |
, , 1 [,1] [,2] [,3] [1,] "green" "yellow" "green" [2,] "yellow" "green" "yellow" [3,] "green" "yellow" "green" , , 2 [,1] [,2] [,3] [1,] "yellow" "green" "yellow" [2,] "green" "yellow" "green" [3,] "yellow" "green" "yellow" |
فاکتورها (Factors)
فاکتورها R-object هستند که با استفاده از یک بردار ایجاد میشوند. آنها بردار ورودی را همراه با مقادیر متمایز عناصر بهعنوان برچسب (Label) ذخیره میکنند. برچسبها همیشه از نوع کاراکتر هستند، چه عناصر ورودی عددی، کاراکتری یا بولی باشند. فاکتورها در مدلسازی آماری بسیار کاربرد دارند.
برای ایجاد فاکتور از تابع factor()
استفاده میکنیم. تابع nlevels()
تعداد سطوح (Levels) فاکتور را برمیگرداند.
1 2 3 4 5 6 7 8 9 |
# Create a vector. apple_colors <- c('green','green','yellow','red','red','red','green') # Create a factor object. factor_apple <- factor(apple_colors) # Print the factor. print(factor_apple) print(nlevels(factor_apple)) |
1 2 3 |
[1] green green yellow red red red green Levels: green red yellow [1] 3 |
چارچوبهای داده (Data Frames)
چارچوبهای داده (Data Frames) اشیاء جدولی در R هستند. برخلاف ماتریس، هر ستون در یک چارچوب داده میتواند نوع داده متفاوتی داشته باشد. برای مثال، ستون اول میتواند عددی باشد، ستون دوم کاراکتری و ستون سوم بولی. در واقع، Data Frame فهرستی از بردارهای همطول است.
برای ایجاد چارچوب داده از تابع data.frame()
استفاده میکنیم.
1 2 3 4 5 6 7 8 |
# Create the data frame. BMI <- data.frame( gender = c("Male", "Male","Female"), height = c(152, 171.5, 165), weight = c(81,93, 78), Age = c(42,38,26) ) print(BMI) |
1 2 3 4 |
gender height weight Age 1 Male 152.0 81 42 2 Male 171.5 93 38 3 Female 165.0 78 26 |
راستی! برای دریافت مطالب جدید در کانال تلگرام یا پیج اینستاگرام سورس باران عضو شوید.
- انتشار: ۱۵ شهریور ۱۴۰۴
دسته بندی موضوعات
- آموزش ارز دیجیتال
- آموزش برنامه نویسی
- آموزش متنی برنامه نویسی
- اطلاعیه و سایر مطالب
- پروژه برنامه نویسی
- دوره های تخصصی برنامه نویسی
- رپورتاژ
- فیلم های آموزشی
- ++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
- اچ تی ام ال
- بانک اطلاعاتی
- برنامه نویسی سوکت
- برنامه نویسی موبایل
- پاسکال
- پایان نامه
- پایتون
- جاوا
- جاوا اسکریپت
- جی کوئری
- داده کاوی
- دلفی
- رباتیک
- سئو
- سایر کتاب ها
- سخت افزار
- سی اس اس
- سی پلاس پلاس
- سی شارپ
- طراحی الگوریتم
- فتوشاپ
- مقاله
- مهندسی نرم افزار
- هک و امنیت
- هوش مصنوعی
- ویژوال بیسیک
- نرم افزار و ابزار برنامه نویسی
- وردپرس