6.1 بردار کمی بیشتر

بردار (Vector) یک ساختار یک بعدی که تمام مقادیر آن از یک نوع هستند.

\[\ x = \begin{bmatrix} x_{1} & x_{2} & \dots & x_{n} \end{bmatrix} \]

  • بردار خالی

\[\ x = [] \]

Code
c()
NULL
  • بردار تک عضوی

\[\ x = \begin{bmatrix} 27 \end{bmatrix} \]

Code
c(27)
[1] 27

\[\ x = \begin{bmatrix} a \end{bmatrix} \]

Code
c("a")
[1] "a"

\[\ x = \begin{bmatrix} True \end{bmatrix} \]

Code
c(TRUE)
[1] TRUE

\[\ x = \begin{bmatrix} Not\;Available \end{bmatrix} \]

Code
c(NA)
[1] NA
  • بردار چند عضوی دلخواه

\[\ x = \begin{bmatrix} 27 & Mohsen & True & Not\;Available \end{bmatrix} \]

Code
(reshteei <- c(27, "Mohsen", TRUE, NA))
[1] "27" "Mohsen" "TRUE" NA      

اگر در بین مقادیر یک نوع رشته‌ای وجود داشته باشد، وکتور از نوع رشته‌ای می‌شود.

Code
class(reshteei)
[1] "character"

اگر در بین مقادیر عددی مقادیر منطقی داشته باشیم،، وکتور از نوع عددی می‌شود.

Code
(adadi <- c(27, TRUE, NA))
[1] 27  1 NA
Code
class(adadi)
[1] "numeric"
  • تشکیل یک بردار با چند بردار
Code
c(reshteei, adadi, 35, "Salam")
[1] "27" "Mohsen" "TRUE" NA "27" "1" NA "35" "Salam" 
  • می‌توان برای هر یک از مقادیر یک نام هم تعریف کرد.
Code
c(1, "dovom" = 2, 3)
      dovom       
    1     2     3 
  • انتخاب مقادیر
Code
(vec <- c(Name = "Mohsen", Age = 27, Male = TRUE, "alaki", NA, "alaki"))
    Name  Age   Male                            
"Mohsen" "27" "TRUE" "alaki" NA "alaki"
  • انتخاب اندیس (Index) n ام
Code
vec[3]
  Male 
"TRUE" 
  • انتخاب همه مقادیر به غیر از اندیس n ام
Code
vec[-3]
    Name  Age                            
"Mohsen" "27" "alaki" NA "alaki"
  • انتخاب اندیس‌های دلخواه
Code
vec[c(2, 5)]
 Age      
"27" NA 
  • انتخاب همه‌ی اندیس‌ها به غیر از اندیس‌های دلخواه
Code
vec[-c(2, 5)]
    Name  Male                   
"Mohsen" "TRUE" "alaki" "alaki" 
  • انتخاب مقدار بوسیله نام
Code
vec[c("Name", "Age")]
    Name  Age 
"Mohsen" "27" 
  • تغییر ترتیب اندیس‌های مقادیر
Code
vec[c(5, 2)]
    Age 
NA "27" 
  • n مقدار اول بردار
Code
head(x = vec, n = 3)
    Name  Age   Male 
"Mohsen" "27" "TRUE" 
  • n مقدار آخر بردار
Code
tail(x = vec, n = 3)
"alaki" NA "alaki" 
  • گرفتن مقادیر بدون تکرار
Code
unique(x = vec)
[1] "Mohsen" "27" "TRUE" "alaki" NA
  • گرفتن مقادیر تکراری

این تابع برای مقادیر که بیش از یک بار تکرار شده‌اند، مقدار درست و برای بقیه غلط بر میگرداند

Code
duplicated(x = vec)
[1] FALSE FALSE FALSE FALSE FALSE TRUE

انتخاب مقادیر تکرار شده

Code
vec[duplicated(vec)]
        
"alaki" 

انتخاب مقادیر تکرار نشده

Code
vec[!duplicated(vec)]
    Name  Age   Male                   
"Mohsen" "27" "TRUE"  "alaki" NA 
  • حذف مقادیر از دست رفته
Code
na.omit(vec)
    Name      Age     Male                   
"Mohsen"     "27"   "TRUE"  "alaki"  "alaki"