1 R болон RStudio-г танин мэдэх, ашиглах

R программ суулгах: http://www.r-project.org/.

RStudio суулгах: http://www.rstudio.com/.

1.1 R гэж юу вэ?

  • R бол үнэгүй нээлттэй эхийн програмчлалын хэл, орчин юм.
  • Энэ нь өгөгдлийн шинжилгээ, график, өгөгдлийн симуляцид зориулагдсан.
  • Энэ нь статистик, програмчлалын дэлхийн тэргүүлэх программ хангамж, цогц систем юм.

1.2 Яагаад R ашиглах ёстой вэ?

  • R бол үнэ төлбөргүй, нээлттэй эх сурвалж: танд болон хүн бүрт зориулагдсан;
  • R нь түгээмэл хэрэглээтэй: өргөн хүрээтэй хэрэглэгчийн бааз нь статистикийн хэрэгслийг үргэлжлүүлэн хөгжүүлэх, хадгалахад тусалдаг;
  • R нь хүчирхэг: Та нарийн төвөгтэй симуляцийг програмчилж болно.
  • R бүх өргөтгөлүүдийг дэмждэг.
  • R нь ихэнх үйлдлийн системүүд дээр ажилладаг, бусад хэлтэй холбогддог: C++, Java, Python, Julia, Stan болон бусад!

Нэмэлт программ, ажиллагаа шаардахгүйгээр шууд үр дүн, тайлан хийж болно.

**_Зураг 1. R программ ашигласнаар үүсэх давуу тал_**

Зураг 1. R программ ашигласнаар үүсэх давуу тал

Жил бүр илүү олон эрдэмтэд ашигласаар байна! 2025 оны 2-р сарын байдлаар Comprehensive R Archive Network (CRAN)-д 22000 гаруй багц (мөн Github repositories дотор олон мянган багц) бүртгэгдсэн байна!

**_Зураг 2. R программ ашигласнаар үүсэх давуу тал_**

Зураг 2. R программ ашигласнаар үүсэх давуу тал

Төрөл бүрийн дүн шинжилгээнүүдийг өөр өөр төрлөөр нэг талбар дээр харуулах бүрэн боломжтой байдаг.

**_Зураг 3. Эдгээр бүх графикыг R ᠋программ дээр хийсэн._**

Зураг 3. Эдгээр бүх графикыг R ᠋программ дээр хийсэн.

1.3 RStudio гэж юу вэ?

  • RStudio нь R-д зориулсан хамгийн их ашиглагддаг функц, үйлдлүүдийг нэгтгэн хөгжлүүлсэн талбар (IDE) юм.
  • Энэ нь график, ажлын түүх, алдааг олох, ажлын талбарыг удирдах хэрэгсэл, шууд кодын гүйцэтгэлийг дэмждэг консол, синтакс тодруулагч хянагчийг агуулдаг.
  • Энэ нь R (болон бусад програмчлалын хэлүүд) -тэй нэгтгэгдэж, олон ашигтай функцийг хангадаг.
**_Зураг 4. RStudio программыг суулгасны дараа нээхэд дээрх байдалтай харагдана_**

Зураг 4. RStudio программыг суулгасны дараа нээхэд дээрх байдалтай харагдана

  • Та RStudio-г анх удаа нээхэд дэлгэц нь гурван үндсэн самбар бүлэгт хуваагдана:
    • Console, Terminal, Job group;
    • Environment, History, Connections group;
    • Files, Plot, Packages, Help, Viewer panes; and, Script pane group.
  • Скрипт нээх эсвэл шинэ скрипт үүсгэсний дараа (File > New File > R Script or Ctrl/Cmd + Shift + N) дөрөв дэх самбар гарч ирнэ!
**_Зураг 5. RStudio программын үндсэн самбарууд_**

Зураг 5. RStudio программын үндсэн самбарууд

  • Ихэвчлэн console хэсэгт харагдах эхний текст нь RStudio-ийн ашиглаж байгаа R хувилбар юм.
  • Console бол R таныг юу хийхийг хэлэхийг хүлээж байгаа газар бөгөөд тантай харилцах бөгөөд таны кодын тушаалын үр дүнг харуулдаг.
  • R командыг хүлээн авахад бэлэн болсон үед > prompt харуулах болно.

2 R-г тооны машин шиг ашиглая!

2.1 Арифметик үйлдлүүд

Нэмэх, хасах үйлдлүүдийг ашиглан үр дүн шууд гарган авах боломжтой.

1 + 1
## [1] 2
10 - 1
## [1] 9

Үржих, хуваа үйлдлүүд мөн адил байна.

2 * 2
## [1] 4
8 / 2
## [1] 4

Зэрэгт дэвшүүлэхдээ ^ тэмдэгтийг ашиглана.

2^3
## [1] 8
3^4
## [1] 81

Эдгээр үйлдлүүдийг нэгэн зэрэг ашиглах боломжтой бөгөөд бодолтын дараалал нь R эх хэлэнд програмчлагдсан байдаг.

2 + 16 * 24 - 56 / (2 + 1) - 457
## [1] -89.66667

Энгийн бодолт хийж үзье: Тойргийн радиус 5 см бол талбайг олно уу? Бодолтын томьёо нь \[Area = pi * r^2\] байх бөгөөд R программын консол дээр дараах байдлаар бичнэ.

3.1416 * 5^2
## [1] 78.54

Мөн математик тооцооны тогтмол утгууд R эх хэлэнд програмчлагдсан байдаг. Иймд шууд pi гэж бичиж болно.

pi * 5^2
## [1] 78.53982

3 Объектуудыг R дээр зохион байгуулах!

3.1 R нь объектод суурилсан орчин юм.

Та <- хуваарилах операторыг ашиглан нэрлэсэн объектуудад мэдээлэл өгч болно.

Four_letters <- "ACDC"
Four_letters
## [1] "ACDC"

Өөрөөр хэлбэл, “ACDC” объектод Four_letters утга оноож (оноосон нэр) өгснөөр Four_letters-ийг дуудахад “ACDC”-аар хариу өгдөг.

my_birthday_month <- 9
my_birthday_month
## [1] 9
Бодолтын_хариу <- 2 + 16 * 24 - 56 / (2 + 1) - 457
Бодолтын_хариу
## [1] -89.66667

Анхаараарай! Бага (<) болон хасах (-) тэмдгүүдийн хооронд зай авахгүй, шууд бичигдсэн <- байх хэрэгтэй.

3.2 Объектыг нэрлэх дүрэм

Объектуудын нэрэнд зөвхөн дараах зүйлс багтаж болно:

  • Үсэг: a-z, A-Z (Монгол хэлний крилл үсгийг ашиглаж болох ч зарим тохиодолд алдаа заадаг.)
  • Тоо: 0-9
  • Тэмдэгт: цэг (.) болон доогуур зураас (_) ашиглаж болно.

Цаашид анхаарах энгийн дүрмүүд:

  • Объектуудын нэр ямагт үсгээр эхлэх ёстой. Forest_data001 эсвэл F_data_001
  • R дээр том, жижиг үсгүүд ялгаатай. Data_1 нь data_1-ээс өөр.
  • Тусгай тэмдэгт (@, /, # гэх мэт) ашиглах боломжгүй.
  • Объектын нэр өвөрмөц, дахин давтагдахгүй байх ёстой. data_1 <- 1 нь өмнө нь үүсгэсэн data_1 нэртэй объектуудыг дарж шинэ объект үүсгэдэг.
Forest_data001 <- 2025
Forest_data001
## [1] 2025
F_data_001 <- 2024
F_data_001
## [1] 2024
Data_1 <- "Том үсгээр эхэлсэн 1-р өгөгдөл"
Data_1
## [1] "Том үсгээр эхэлсэн 1-р өгөгдөл"
data_1 <- "жижиг үсгээр эхэлсэн 1-р өгөгдөл"
data_1
## [1] "жижиг үсгээр эхэлсэн 1-р өгөгдөл"

Объектыг нэрлэх, код бичих анхаарах зүйлс:

  • Богино, тодорхой нэр илүү тохиромжтой байдаг.
  • Хувьсагчийг var гэж нэрлэх нь төөрөгдөл үүсгэнэ.
  • Доогуур зураас ( _ ) эсвэл цэг ( . ) ашиглан нэр доторх үгсийг салгаж болно. avg_richness эсвэл avg.richness нь avgrichness-тэй харьцуулахад илүү хялбар уншигддаг
  • Одоо байгаа функц эсвэл тогтмолуудын нэрийг (жишээ нь, c, хүснэгт, T, матриц) ашиглахаас зайлсхий.
  • Кодыг уншихад хялбар болгохын тулд операторуудын (=, +, -, <- гэх мэт) эргэн тойронд зай (space) авна уу.
  • Таслалын дараа үргэлж зай (space) авна уу.

4 Өгөгдлийн төрөл болон бүтэц

4.1 Өгөгдлийн төрөл (data types)

Өгөгдлийн төрлүүд нь R-дээрх утгууд, өгөгдлүүд хэрхэн хадгалагдахыг тодорхойлдог.

Бид typeof() функцыг ашиглан объектын төрөл, горимыг тодорхойлох боломжтой. Өгөгдлийн үндсэн төрлүүд нь:

  • Тоон өгөгдөл - Numeric (integer-бүхэл, double-бутархай)
  • Тэмдэгт өгөгдөл – Character (заавал “ ” хаалтанд байна)
  • Логик өгөгдөл – Logical (TRUE or FALSE)

4.2 Өгөгдлийн бүтэц (data structures)

Тоо эсвэл текстийн мөр зэрэг нэг төрлийн объектыг скаляр (scalar) бүтэцтэй өгөгдөл гэж нэрлэдэг.

a <- 100
a # 
## [1] 100
b <- 3 / 100
b
## [1] 0.03
c <- (a +b) / b
c
## [1] 3334.333

a,b,c өгөгдөлүүд нь ямар нэг (ганцхан ширхэг) тоо агуулсан учир скаляр (scalar) бүтэц болно.

d <- "species"
d # 
## [1] "species"
e <- "тархалт"
e
## [1] "тархалт"
f <- "When is the next pause again?"
f
## [1] "When is the next pause again?"

d,e,f өгөгдөлүүд нь ямар нэг тэмдэгт (“” дотор учраас ганцхан тэмдэгт гэж үзнэ) агуулсан учир скаляр (scalar) бүтэц болно.

Вектор (vector) бүтэцтэй объект нь нэг объект хэлбэрээр хадгалагдсан хэд хэдэн скаляруудын нэгдэл юм. Скаляруудын нэгэн адил векторууд нь тоон, логик, тэмдэгтийн төрлүүд байж болох ч тэдгээрийг хэзээ ч хамтад нь бичиж болохгүй!

**_Зураг 6. Скаляр болон вектор өгөгдлийн дүрслэл_**

Зураг 6. Скаляр болон вектор өгөгдлийн дүрслэл

R дээр вектор бүтэцтэй өгөгдөл үүсгэх олон арга бий. Жишээлбэл:

Хүснэгт 1. Зарим функцийн бичиглэлийн хэлбэр, жишээнүүд
Function Example Result
c(a, b, …) c(1, 3, 5, 7, 9) 1, 3, 5, 7, 9
a:b 1:5 1, 2, 3, 4, 5
seq(from, to, by, length.out) seq(from = 0, to = 6, by = 2) 0, 2, 4, 6
rep(x, times, each, length.out) rep(c(7, 8), times = 2, each = 2) 7, 7, 8, 8, 7, 7, 8, 8

c() функц (combine нь нэгтгэх гэсэн үг бөгөөд тэдгээрийг нэгтгэх гэсэн утгатай) хэд хэдэн скалярыг аргумент болгон нэгтгэж, таслалаар тусгаарлаж, тэдгээрийг агуулсан векторыг үүсгэнэ.

vector <- c("value1", "value2", "value3")
vector
## [1] "value1" "value2" "value3"
class(vector)
## [1] "character"

a:b нь аргумент болгон хоёр тоон скаляр бөгөөд эхний a тооноос b тоо хүртэлх 1 нэгжийн алхамтай тооны векторыг үүсгэнэ.

1:8
## [1] 1 2 3 4 5 6 7 8
7.5:1.5
## [1] 7.5 6.5 5.5 4.5 3.5 2.5 1.5

seq() функц нь a:b адил тоон дараалал үүсгэх бөгөөд нэмэлтээр алхам буюу интервалыг (by аргументаар), мөн цувааны уртыг (lenth.out аргументаар) тус тус тодорхойлдог.

seq(from = 1, to = 10, by = 2)
## [1] 1 3 5 7 9
seq(from = 20, to = 2, by = -2)
##  [1] 20 18 16 14 12 10  8  6  4  2

rep() нь скаляр (эсвэл вектор)-ыг тодорхой тооны удаа эсвэл хүссэн урттай давтах боломжийг олгодог:

rep(x = 1:3, each = 2, times = 2)
##  [1] 1 1 2 2 3 3 1 1 2 2 3 3
rep(x = c(1, 2), each = 3)
## [1] 1 1 1 2 2 2

Өгөгдлийн төрөл дээр суурилан вектор бүтцийг үүсгэж болдог. Жишээ нь:

num_vector <- c(1, 4, 32, -76, -4)
num_vector
## [1]   1   4  32 -76  -4
class(num_vector)
## [1] "numeric"
char_vector <- c("blue", "red", "green", "pink")
char_vector
## [1] "blue"  "red"   "green" "pink"
class(char_vector)
## [1] "character"
bool_vector <- c(TRUE, TRUE, FALSE) # or c(T, T, F)
bool_vector
## [1]  TRUE  TRUE FALSE
class(bool_vector)
## [1] "logical"

Матриц (matrix) бүтэц

  • Скаляр нь нэг элемент, векторууд нь нэг төрлийн нэгээс олон скаляр агуулдаг.
  • Матрицууд нь зэрэгцээ орших олон векторуудын нийлбэр юм.
  • Векторууд нэг хэмжээстэй байхад матрицууд нь мөр, баганаар тодорхойлогддог хоёр хэмжээстэй байдаг.
**_Зураг 7. Скаляр, вектор болон матриц өгөгдлийн дүрслэл_**

Зураг 7. Скаляр, вектор болон матриц өгөгдлийн дүрслэл

Матриц өгөгдлийг үүсгэж сурцгаая!

matrix(data = 1:10,
       nrow = 5,
       ncol = 2)
##      [,1] [,2]
## [1,]    1    6
## [2,]    2    7
## [3,]    3    8
## [4,]    4    9
## [5,]    5   10
matrix(data = 1:10,
       nrow = 2,
       ncol = 5)
##      [,1] [,2] [,3] [,4] [,5]
## [1,]    1    3    5    7    9
## [2,]    2    4    6    8   10

Мөн бид cbind() (column binding) болон rbind() (row binding) ашиглан олон векторыг нэгтгэж болно.

nickname <- c("kat", "gab", "lo")
nickname
## [1] "kat" "gab" "lo"
animal <- c("dog", "mouse", "cat")
animal
## [1] "dog"   "mouse" "cat"
cbind(nickname, animal) # босоо баганан байдлаар матриц өгөгдөл үүсгэх
##      nickname animal 
## [1,] "kat"    "dog"  
## [2,] "gab"    "mouse"
## [3,] "lo"     "cat"
rbind(nickname, animal) # хэвтээ мөр байдлаар матриц өгөгдөл үүсгэх
##          [,1]  [,2]    [,3] 
## nickname "kat" "gab"   "lo" 
## animal   "dog" "mouse" "cat"

Векторуудын нэгэн адил матриц дээр математик үйлдлүүд маш сайн ажилладаг. Матрицын зүй тогтлыг сайн ажиглаарай.

(mat_1 <- matrix(data = 1:9,
                 nrow = 3,
                 ncol = 3))
##      [,1] [,2] [,3]
## [1,]    1    4    7
## [2,]    2    5    8
## [3,]    3    6    9
(mat_2 <- matrix(data = 9:1,
                 nrow = 3,
                 ncol = 3))
##      [,1] [,2] [,3]
## [1,]    9    6    3
## [2,]    8    5    2
## [3,]    7    4    1
mat_1 * mat_2
##      [,1] [,2] [,3]
## [1,]    9   24   21
## [2,]   16   25   16
## [3,]   21   24    9
(step_1 <- matrix(data = 1:6,
                  nrow = 2,
                  ncol = 3))
##      [,1] [,2] [,3]
## [1,]    1    3    5
## [2,]    2    4    6
(step_2 <- matrix(
  data = c("cheetah", 
           "tiger", 
           "ladybug",
           "deer",
           "monkey",
           "crocodile"),
  nrow = 2,
  ncol = 3))
##      [,1]      [,2]      [,3]       
## [1,] "cheetah" "ladybug" "monkey"   
## [2,] "tiger"   "deer"    "crocodile"
Merged_matrix <- cbind(c(step_1), c(step_2))
Merged_matrix
##      [,1] [,2]       
## [1,] "1"  "cheetah"  
## [2,] "2"  "tiger"    
## [3,] "3"  "ladybug"  
## [4,] "4"  "deer"     
## [5,] "5"  "monkey"   
## [6,] "6"  "crocodile"

Data.frame бүтэц нь матрицаас ялгаатай нь өгөгдлийн хүрээ нь тоон, тэмдэгт, логик багана (эсвэл вектор) агуулж болно.

**_Зураг 7. Скаляр, вектор, матриц болон дата.фрэйм (data frame) өгөгдлийн дүрслэл_**

Зураг 7. Скаляр, вектор, матриц болон дата.фрэйм (data frame) өгөгдлийн дүрслэл

Бодит амьдрал, судалгааны ажил олон төрлийн холимог өгөгдөл ашигладаг бөгөөд цаашдын хичээл, алхамуудад нилээн их ашиглагдах болно. Хөрсний судалгааны ажлын хэсэгхэн үр дүнг жишээ байдлаар харуулья:

  • site_id дээж авсан газрын дугаар;
  • soil_pH хөрсний уусмалын орчин;
  • num_sp төрөл зүйлийн тоо;
  • fertilised бордоо хэрэглэсэн эсэх;
Хүснэгт 2. Хөрсний судалгааны ажлын үр дүнгээс
site_id soil_pH num_sp fertilised
A1.01 5.6 17 yes
A1.02 7.3 23 yes
B1.01 4.1 15 no
B1.02 6.0 7 no
site_id <- c("A1.01", "A1.02", "B1.01", "B1.02")
soil_pH <- c(5.6, 7.3, 4.1, 6.0)
num_sp <- c(17, 23, 15, 7)
fertilised <- c("yes", "yes", "no", "no")
soil_fertilisation_data <- data.frame(site_id, soil_pH, num_sp, fertilised)
soil_fertilisation_data
##   site_id soil_pH num_sp fertilised
## 1   A1.01     5.6     17        yes
## 2   A1.02     7.3     23        yes
## 3   B1.01     4.1     15         no
## 4   B1.02     6.0      7         no

5 Индексжүүлэлт (indexing)

Бид өөрсдийн өгөгдөл, мэдээллийг вектор, матриц эсвэл data.frame хэлбэрээр R-д хадгалдаг. Зарим тохиолдолд тодорхой шалгуурын дагуу зөвхөн тухайн өгөгдлийг харах, ашиглах эсвэл янз бүрийн байдлаар хуваах, бүлэглэх хэрэгцээ шаардлага үүсэж байдаг.

Бид хаалт [ ] дотор харахыг хүссэн утгуудын байрлалыг зааж өгч болно. Үүнийг ихэвчлэн индексжүүлэх эсвэл хуваалт гэж нэрлэдэг. Индексжүүлэлтийн гол бичиглэл нь: дөрвөлжин хаалт [ ] ба [ , ].

Вектор доторх элементийг [ ] ашиглан тухайн элементийг дуудахын тулд [ ] хаалтанд тухайн элементийн байрлалын дугаарыг бичих хэрэгтэй. Энэхүү байрлалын дугаар нь өгөгдлийн утгаас үл хамааран , хязгаарлагдсан элементүүдийг 1-ээс эхлэн бүхэл тоон дарааллаар дугаарласныг хэлнэ.

Жишээлбэл, 1-ээс 9 хүртлэх сондгой тооны odd_n нэртэй цуваа үүсгэе. Энэхүү вектор өгөгдөл 5 тооноос (1, 3, 5, 7, 9) бүрдэх бөгөөд 1-ээс 5 хүртэл дугаарлагдсан буюу индексжсэн байдаг. odd_n[2] коммандаар 2-р утгыг сонгож уншуулахад 3 гэсэн хариу гарна.

(odd_n <- seq(1, 9, by = 2))
## [1] 1 3 5 7 9
odd_n[2]
## [1] 3

Бид мөн вектор доторх олон байрлалын утгыг c() коммандаар уншуулж болно.

odd_n[c(2, 4)]
## [1] 3 7

Мөн бид тодорхой байрлалд хамаарах утгыг векторын утгын өмнөх хасах (-) тэмдгийг ашиглан харуулахгүй байж болно.

odd_n[-c(1, 2)]
## [1] 5 7 9
odd_n[-4]
## [1] 1 3 5 9

num_vector гэсэн нэр бүхий вектор дээр дараах үйлдлийг хийж үзье:

  • 4-р утгыг гарган авах;
  • 1 ба 3-р утгыг гарган авах;
  • 2 ба 4-өөс бусад бүх утгыг гарган авах;
  • 6-аас 10-р утгыг гарган авах.
num_vector <- c(1, 4, 3, 98, 32, -76, -4)
num_vector[4]
## [1] 98
num_vector[c(1, 3)]
## [1] 1 3
num_vector[c(-2, -4)]
## [1]   1   3  32 -76  -4
num_vector[6:10]
## [1] -76  -4  NA  NA  NA

Data.frame болон матриц дээр мөр, баганын дугаарыг ашиглан элементийг дуудах боломжтой. Үндсэн зарчим тухайн аливаа нэг утга нь мөр, баганын уулзвар дээр байна. data_frame_name[row_number, column_number] бүтэцтэй өгөгдлийн хувьд:

  • my_df[1, ] (1-р мөрийг бүхлээр нь дуудах)
  • my_df[, 3] (3-р баганыг бүхлээр нь дуудах)
  • my_df[2, 4] (2-р мөрний 4-р баганад харгалзах утгыг дуудах)

Эдгээр нь та бидний хүүхэд ахуй цагтаа тоглодог байсан онгоц буудах тоглоомын дүрэмтэй яг адилхан юм.

**_Зураг 9. Онгоц буудах тоглоомын үед  мөр, баганын дугаар ашиглан хэлдэг_**

Зураг 9. Онгоц буудах тоглоомын үед мөр, баганын дугаар ашиглан хэлдэг

Бид бүхэн өмнө нь soil_fertilisation_data нэртэй өгөгдөл үүсгэсэн, эндээс зөвхөн судалгааны байршлын дугаарыг, уусмалын орчны дүнтэй харах тохиолдолд:

soil_fertilisation_data
##   site_id soil_pH num_sp fertilised
## 1   A1.01     5.6     17        yes
## 2   A1.02     7.3     23        yes
## 3   B1.01     4.1     15         no
## 4   B1.02     6.0      7         no
soil_fertilisation_data[ , c("site_id", "soil_pH")]
##   site_id soil_pH
## 1   A1.01     5.6
## 2   A1.02     7.3
## 3   B1.01     4.1
## 4   B1.02     6.0

Өгөгдөл салган харах өөр нэг арга нь $ тэмдэгт ашиглах юм.

soil_fertilisation_data$soil_pH
## [1] 5.6 7.3 4.1 6.0

Бид аливаа нэг нөхцлөөр ҮНЭН эсвэл ХУДАЛ утгыг авахын тулд төрөл бүрийн операторуудыг ашиглаж болно. Доорх жишээнүүдийг харна уу: odd_n нь 1, 3, 5, 7, 9-г агуулж байгаа болно.

Хүснэгт 3. Логик өгөгдлийг индексийн утга бүрд тодорхой нөхцөлтэйгээр ашиглах нь
Operator Description Example Result
< and > less than or greater than odd_n > 3 FALSE, FALSE, TRUE, TRUE, TRUE
<= and >= less/greater or equal to odd_n >= 3 FALSE, TRUE, TRUE, TRUE, TRUE
== exactly equal to odd_n == 3 FALSE, TRUE, FALSE, FALSE, FALSE
!= not equal to odd_n != 3 TRUE, FALSE, TRUE, TRUE, TRUE
x | y x OR y odd_n[odd_n >= 5 | odd_n < 3] 1, 5, 7, 9
x & y x AND y odd_n[odd_n >=3 & odd_n < 7] 3, 5
x %in% y x match y odd_n[odd_n %in% c(3,7)] 3, 7

Өгөгдлийн бүтцүүдийг харьцуулан харах нь:

**_Зураг 10. Өгөгдлийн бүтцүүдийн ялгааг товчоор илэрхийлбэл_**

Зураг 10. Өгөгдлийн бүтцүүдийн ялгааг товчоор илэрхийлбэл

6 Функц (function)

Функц нь математикийн алхам бүрийг бичих шаардлагагүйгээр объектууд дээр үйлдлийг хурдан гүйцэтгэх боломжийг олгодог. Өөрөөр хэлбэл, функц нь бидний амьдралыг хялбарчлах ёстой хэрэгсэл юм! Функцид аргумент (эсвэл параметр) буюу утгууд оруулах хэрэгтэй. Дараа нь эдгээр аргументуудыг ашиглан (функц ажиллах бөгөөд) үйлдлүүдийг хийж, гаралтыг үзүүлдэг.

**_Зураг 11. Функцын ажиллах зарчим_**

Зураг 11. Функцын ажиллах зарчим

R программын хамгийн энгийн, их хэрэглэгддэг функц нь статистик бодолт болон график гаргах функцууд юм.

  • sum(data), mean(data), median(data), sd(data), var(data), max(data), min(data), quantile(data), summary(data)
  • plot(data)
a <- c(1:5)
b <- 2
result_add <- a + b
result_add
## [1] 3 4 5 6 7
result_sum <- sum(a, b)
result_sum
## [1] 17
result_mean <- mean(a, b)
result_mean
## [1] 3
a <- 1:100
b <- a^2
par(mfrow = c(2, 2))
plot(a, b, type = "l")
plot(b, a, type = "l")
plot(x = a, y = b, type = "l")
plot(y = b, x = a, type = "l")

7 R package суулгах, ашиглах

7.1 Package гэж юу вэ?

Package нь ямарваа эсвэл ижил төсөөтэй сэдвийн хүрээнд хамаарагдах өгөгдлийн багц, тэдгээрийн боломжит функцуудыг агуулсан багц хэрэглүүр юм. Жишээ нь: статистик, орон зайн шинжилгээ, график.

Хэн ч package-г хөгжүүлж, боловсруулж болох бөгөөд бусдтай хуваалцах, ашиглах бүрэн боломжтойв

Comprehensive R Archive Network (CRAN)-аар дамжуулан олон багцуудыг ашиглах боломжтой ба одоо GitHub болон бусад багцын сангууд дээр илүү олон багцууд байршдаг болсон.

**_Зураг 12. Бүх package-ийн талаарх мэдээлэл_** <https://rdrr.io/>

Зураг 12. Бүх package-ийн талаарх мэдээлэл https://rdrr.io/

7.2 Package хэрхэн суулгах бэ?

Консолын мөрөнд дээрээ install.packages(“package_name”) гэж бичээд шууд уншуулж болно. Мөн RStudio программын цэсээс RStudio>Tools>Install packages гэж ороод гарч ирсэн цонх дээр package-ийн нэрээ бичээд суулгаж болно.

**_Зураг 13. Package суулгах харилцах цонх_**

Зураг 13. Package суулгах харилцах цонх