Kihagyás

2. gyakorlat

Mátrixok

  • Homogén
  • Parancsa: matrix()
  • Az első három paraméter kötelező
  • A soronkénti feltöltés alap esetben false*
matrix(adathalmaz, sorok_szama, oszlopok_szama, soronkenti_feltoltes, sorszámnév)

Példa:

matrix(1:10, 2, 5)

* Soronkénti feltöltés példa

Oszloponként

1 3 5
2 4 6

Soronként

1 2 3
4 5 6

Sorszámnevek

  • A mátrixok 5. tulajdonsága a sorszámnevek
  • Ezek átnevezhetőek, így könnyítve meg az adatok megértését
matrix(..., ..., ..., dimnames=list(c(sorszamnev1, sorszamnev2), c(...)))

Mátrix elemeihez hozzáférés

mx[n, m]     # [sorszám, oszlopszám]

Teljes n. sor

mx[n, ]

Teljes m. oszlop

mx[, m]

Elemek módosítása

mx[1,1] = 123456

rbind és cbind, avagy "jagged mátrix"

  • "Összetapasztja" a vektorokat
  • Csak, ha ugyanolyan hosszúak
  • rbind() - soronként
  • cbind() - oszloponként

Példa kód:

t1 = 1:10
t2 = 11:20
t3 = 21:30

jm1 = rbind(t1, t2, t3)

jm2 = cbind(t1, t2, t3)
# jm1

   [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
t1    1    2    3    4    5    6    7    8    9    10
t2   11   12   13   14   15   16   17   18   19    20
t3   21   22   23   24   25   26   27   28   29    30
# jm2

     t1 t2 t3
[1,]  1 11 21
[2,]  2 12 22
[3,]  3 13 23
[4,]  4 14 24
[5,]  5 15 25
[6,]  6 16 26
[7,]  7 17 27
[8,]  8 18 28
[9,]  9 19 29
[10,] 10 20 30

Data frames

Előnye: különböző adattípusokat lehet benne tárolni

Példa:

targy = c("Áltkém gy", "BioGeo ea", "Info gy")
kredit = c(4,3,3)
jegy = c(5,4,5)

d1 = data.frame(targy, kredit, jegy)

Hozzáférés adattagokhoz

Kell: $

Pl.:

d1$targy
dataframe_neve$adattag

Szűrés

d1[d1$jegy > 1 & d1$kredit >= 4,]

Kell a , a végére! (Ne kérdezd, nem tudjuk az okát...)

Beépített adat halmazok

R-ben van néhány beépített adat halmaz. Pl.:

auto = mtcars

people = sleep

Gyakorló feladat

Készítsünk egy 5x7-es mátrixot. A sorai legyenek autómárka nevek. Az oszlopai pedig gyümölcs nevek. A 3. sor 4. elemét csréljük ki a legkisebb prímszámra.

# Feladat

adathalmaz = 1:35

f = matrix(adathalmaz, 5,7, dimnames = list(c("BMW", "Tesla", "Suzuki", "Ford", "Ferrari"), c("Alma", "Eper", "Narancs", "Kiwi", "Szőlő", "Citrom", "Áfonya")))

f[3,4] = 2

print(f)

View() parancs (RStudioban)

Megjeleníti a megadott vektort, mátrixot stb.

View(matrix)