Vektorli dasturlash Maqsad



Download 113,22 Kb.
bet2/2
Sana30.12.2021
Hajmi113,22 Kb.
#91092
1   2
Bog'liq
lab.3

R sintaksisiga misollar

my_var1 <- 42

my_var2 <- 35.25

my_var1 + 100

my_var1 + my_var2 - 12

my_var3 <- my_var1^2 + my_var2^2

my_var3

1-rasm - Ob'ektlarni yaratish va ular bilan ishlash (kodni ishga tushirish)
my_var3 > 200

my_var3 > 5000

my_var1 == my_var2

a <- 34


a = 2

my_var1 != my_var2

my_new_var <- my_var1 == my_var2

my_new_var



2-rasm - Mantiqiy o'zgaruvchilarni olish (kodni ishga tushirish)

1:67


my_vector1 <- 1:67

my_vector2 <- c(-32, 45, 67, 12.78, 129, 0, -65)

my_vector1[1]

my_vector1[3]

my_vector2[2]

my_vector2[c(1, 2, 3)]

my_vector2[1:3]

my_vector2[c(1, 5, 6, 7, 10)]



3-rasm - Vektorlarni yaratish va vektor elementlariga murojaat qilish (kodni ishga tushirish)

my_vector1 + 10

my_vector2 + 56

my_vector2 == 0

my_vector1 > 30

x <- 23


my_vector1 > 23

my_vector1 > x

x == 23

4-rasm - Arifmetik va mantiqiy amallar (kodni bajaring)
my_vector2 > 0

my_vector2[my_vector2 > 0]

my_vector2[my_vector2 < 0]

my_vector2[my_vector2 == 0]

my_vector1[my_vector1 > 20 & my_vector1 < 30]

my_numbers <- my_vector1[my_vector1 > 20 & my_vector1 < 30]

positeve_numbers <- my_vector2[my_vector2 > 0]

5-rasm - Mantiqiy namunalar (kodga rioya qiling)

age <- c(16, 18, 22, 27)

is_married <- c(F, F, T, T)

data <- list(age, is_married)

data

data[[1]][1]



data[[2]][3]

name <- c('Olga', 'Maria', 'Nastya', 'Polina')

data <- list(age, is_married, name)

data


6-rasm - varaq yarating (kodni ishga tushiring)

df <- data.frame(Name = name, Age = age, Status = is_married)

df

7-rasm - Sana doirasini yaratish (kodni ishga tushirish)

R-da o'z funktsiyalaringizni yaratish:

R-da o'z funktsiyalaringizni yaratish uchun siz quyidagi konstruktsiyalardan foydalanasiz:

function_name <- function(argument_1, argument_2){

function_body

return(value)



}

8-rasm - R da funktsiyalarni yaratish

area_circle <- function(r){

area <- r^2*pi

return(area)

}

# Вызов функции



area_circle(5)

9-rasm - "Circle area" funktsiyasini yaratish va chaqirishga misol.

R tilining ba'zi ob'ektlari:

Matritsa - bu raqamli, mantiqiy yoki matn qiymatlarining ikki o'lchovli to'plami. Massiv - o'lchamlari ikkitadan katta bo'lgan bir xil turdagi ba'zi elementlarning yig'indisi.

Vektorlashtirilgan funktsiyalar:

R ning xarakterli xususiyati hisoblashlarni vektorlashtirishdir. Vektorizatsiya - bu bir xil turdagi bir nechta operatsiyalarni bir vaqtning o'zida bajarish uchun dastur ma'lum tarzda o'zgartirilgan parallel hisoblashlarni amalga oshirish usullaridan biridir.



Vektorlashtirilgan hisob-kitoblar printsipi nafaqat bu kabi vektorlarga, balki yanada murakkab ob'ektlarga - matritsalar, ro'yxatlar va ma'lumotlar jadvallariga ham tegishli (R uchun oxirgi ikki turdagi ob'ektlar o'rtasida farq yo'q - aslida ma'lumotlar jadvali bir xil o'lchamdagi bir nechta komponent-vektorlarning ro'yxati) ... Asosiy R to'plamida bunday ob'ektlar bo'yicha vektorlashtirilgan hisoblashni tashkil qilish uchun mo'ljallangan funktsiyalarning butun oilasi mavjud. Ushbu funktsiyalarning nomlari amal qilish so'zini o'z ichiga oladi, uning oldiga ma'lum bir funktsiya qanday ishlashini ko'rsatadigan xat keladi (qo'shimcha ma'lumot uchun yordam faylini ko'ring -? Qo'llash).
Apply () funktsiyasi funktsiyani matritsaning barcha qatorlariga yoki ustunlariga (yoki kattaroq o'lchamdagi massivlarga) qo'llash zarur bo'lgan hollarda qo'llaniladi:

# Создадим обычную двумерную матрицу

M <- matrix(seq(1, 16), 4, 4)

# Найдем минимальные значения в каждой строке матрицы

apply(M, 1, min)

# Найдем минимальные значения в каждом столбце матрицы

apply(M, 2, max)

10-rasm – Apply () funktsiyasi bilan ishlashga misol

Amaliy qism

Vazifa 1 - Ma'lumotlarni oldindan qayta ishlash. Quyidagi satr bilan yangi my_vector vektorini yarating:
my_vector <- c(21, 18, 21, 19, 25, 20, 17, 17, 18, 22, 17, 18, 18, 19, 19, 27, 21, 20, 24, 17, 15, 24, 24, 29, 19, 14, 21, 17, 19, 18, 18, 20, 21, 21, 19, 17, 21, 13, 17, 13, 23, 15, 23, 24, 16, 17, 25, 24, 22)
My_vector-da faqat o'rtacha og'ishdan kam o'rtacha qiymatdan chetga chiqadigan holatlarni tanlang. Ushbu kuzatuvlarni my_vector2 yangi o'zgaruvchisiga saqlang. Bunday holda, asl vektorni o'zgarishsiz qoldiring.

Foydali funktsiyalar: o'rtacha (x) - x vektorning o'rtacha qiymati; sd (x) - x vektorining standart og'ishi; abs (x) - n sonining absolyut qiymati





Vazifa 2. Kiritish sifatida ixtiyoriy kattalikdagi ma'lumotlar doirasini oladigan get_negative_values ​​funktsiyasini yozing. Funksiya ma'lumotlarning har bir o'zgaruvchisini manfiy qiymatlarni o'z ichiga olganligini tekshirishi kerak. Agar o'zgaruvchida manfiy qiymatlar bo'lmasa, unda biz bu o'zgaruvchiga qiziqmaymiz, manfiy qiymatga ega bo'lgan barcha o'zgaruvchilar uchun ularni har bir o'zgaruvchida elementlar soni bir xil bo'lsa, ularni ro'yxat yoki matritsa shaklida saqlaymiz (funktsiya misoliga qarang).

test_data <- as.data.frame(list(V1 = c(-9.7, -10, -10.5, -7.8, -8.9), V2 = c(NA, -10.2, -10.1, -9.3, -12.2), V3 = c(NA, NA, -9.3, -10.9, -9.8)))

get_negative_values(test_data)
$V1

[1] -9.7 -10.0 -10.5 -7.8 -8.9

$V2

[1] -10.2 -10.1 -9.3 -12.2



$V3

[1] -9.3 -10.9 -9.8


test_data <- as.data.frame(list(V1 = c(NA, 0.5, 0.7, 8), V2 = c(-0.3, NA, 2, 1.2), V3 = c(2, -1, -5, -1.2)))

get_negative_values(test_data)


$V2

[1] -0.3


$V3

[1] -1.0 -5.0 -1.2


test_data <- as.data.frame(list(V1 = c(NA, -0.5, -0.7, -8), V2 = c(-0.3, NA, -2, -1.2), V3 = c(1, 2, 3, NA)))

get_negative_values(test_data)


V1 V2

[1,] -0.5 -0.3

[2,] -0.7 -2.0

[3,] -8.0 -1.2


Laboratoriya materiallaridan nazorat qilish uchun savollar

1. Vektorizatsiya;

2. R.ning asosiy ob'ektlari.

3. O'zingizning funktsiyalaringizni yaratish

4. Amaliy oilaning vektorlashtirilgan funktsiyalari.

Savollarni qidirish va yozma javob

1. R dasturlash tilining xususiyatlari;

2. Vektorizatsiya paradigmasini qo'llab-quvvatlovchi tillar;

3. CRAN;

4. R.ning ijobiy va salbiy tomonlari.





Download 113,22 Kb.

Do'stlaringiz bilan baham:
1   2




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish