Sissejuhatus massiividesse R

Nagu me teame, on massiivid objektid, mis võivad salvestada kahte või enamat kui kahemõõtmelist teavet. R-is on massiivil sama mõiste, mis luuakse massiivi () funktsiooni kasutades. Siin salvestatakse andmed vormimaatriksites, ridades ja veergudes. Konkreetsele elemendile massiivist juurde pääsemiseks tuleb täpsustada rea ​​indeks, veeru indeks ja maatriksi tase.

Maatriksid, mida sageli kasutatakse R-is, on spetsiaalne 2-D-massiivi tüüp.

Piltlik esitus: vektor, maatriks, massiiv

  • Ühemõõtmelist massiivi nimetatakse vektoriks.
  • Maatriksiks nimetatud kahemõõtmelist massiivi.

Süntaks:

Siin on massiivi süntaks:

Array_NAME <- array (data, dim = (row_Size, column_Size, matrices, dimnames)

  • data - andmed on sisendvektorid, mis suunatakse massiivi.
  • maatriksid - see viitab maatriksite mõõtmetele. Massiiv R-s võib olla mitmemõõtmeline maatriks.
  • rida_suurus - rida_suurus tähistab ridade arvu, millest massiiv koosneb.
  • column_Size - column_Size tähistab veergude arvu, millest massiiv koosneb.
  • dimnames - see väli, kui soovite ridade ja veergude vaikenimed muuta vastavalt kasutaja soovile / eelistusele.

Omadused:

  • See on homogeenne. See tähendab, et see võib salvestada sama tüüpi andmeid.
  • See salvestab andmed külgnevasse mällu
  • Massiivi elementide juurde pääseb, teades indeksi numbrit.

Kuidas luua massiivi R-s?

Allpool on toodud erinevad stsenaariumid massiivi loomiseks r-s järgmiselt:

1. stsenaarium:

Loome massiivi, mis oleks 3 × 4 maatriksit. Siin 3 reastub ja 4 on veerud, maatriksid on üks. Algsete sammudena säilitame dimnames = NULL (mis on vaikeväärtus, kui midagi pole täpsustatud).

See on ühemõõtmeline maatriks

R kood:

vector1 <- c(2, 18, 30)
vector2 <- c(10, 14, 17, 13, 11, 15, 22, 11, 33)
print(array(c(vector1, vector2), dim = c(3, 4, 1)))

Väljund:

Selleks, et kontrollida, kas loodud massiiv sai lõpuks loodud või mitte.

Kui massiiv on loodud:

Tulemus

Funktsioon "klass" võib teid selles aidata.

klass (tulemus)

R kood:

vector1 <- c(2, 18, 30)
vector2 <- c(10, 14, 17, 13, 11, 15, 22, 11, 33)
print(array(c(vector1, vector2), dim = c(3, 4, 1)))
Result <- array(c(vector1, vector2), dim = c(3, 4, 1))
class(Result)

Väljund:

Massiivi mõõtme korrutise kontrollimiseks saab kasutada funktsiooni: pikkus.

R kood:

vector1 <- c(2, 18, 30)
vector2 <- c(10, 14, 17, 13, 11, 15, 22, 11, 33)
print(array(c(vector1, vector2), dim = c(3, 4, 1)))
Result <- array(c(vector1, vector2), dim = c(3, 4, 1))
length(Result)

Väljund:

2. stsenaarium:

Loome sama massiivi, mis oleks 3 × 4 maatriksit. Siin on jällegi 3 rida ja 4 veerge, maatriksid aga kaks. Hoidkem dimnimed = NULL (mis on vaikimisi väärtus, kui midagi pole täpsustatud).

R-kood:

vector1 <- c(2, 18, 30)
vector2 <- c(10, 14, 17, 13, 11, 15, 22, 11, 33)
print(array(c(vector1, vector2), dim = c(3, 4, 2)))

Väljund:

3. stsenaarium:

Loome sama massiivi, mis oleks 3 × 4 maatriksit. Siin on jällegi 3 rida ja 4 veerge, maatriksid aga kaks. Vaatame dimnimedele määratud väärtusi.

R-kood:

vector1 <- c(2, 18, 30)
vector2 <- c(10, 14, 17, 13, 11, 15, 22, 11, 33)
column.names <- c("COL1", "COL2", "COL3", "COL4")
row.names <- c("ROW1", "ROW2", "ROW3")
matrix.names <- c("Matrix1", "Matrix2")
array(c(vector1, vector2), dim = c(3, 4, 2), dimnames = list(row.names, column.names,
matrix.names ))

Väljund:

Nüüd on meil hea luua igasuguste mõõtmetega massiiv. Keskendume nüüd massiivi mis tahes elemendile juurdepääsu viisile.

Kuidas luua juurdepääsuelementide massiivi R-s?

Allpool on erinevad juurdepääsuelemendid r-i massiivi loomiseks järgmiselt -

1. stsenaarium:

Ütleme, et meil on sama massiiv R:

R kood:

vector1 <- c(2, 18, 30)
vector2 <- c(10, 14, 17, 13, 11, 15, 22, 11, 33)
column.names <- c("COL1", "COL2", "COL3", "COL4")
row.names <- c("ROW1", "ROW2", "ROW3")
matrix.names <- c("Matrix1", "Matrix2")
result <- array(c(vector1, vector2), dim = c(3, 4, 2), dimnames = list(row.names, column.names,
matrix.names))

Väljund:

Nüüd peame pääsema massiivi teise maatriksi 3. ja 3. veergu.

R kood:

vector1 <- c(2, 18, 30)
vector2 <- c(10, 14, 17, 13, 11, 15, 22, 11, 33)
column.names <- c("COL1", "COL2", "COL3", "COL4")
row.names <- c("ROW1", "ROW2", "ROW3")
matrix.names <- c("Matrix1", "Matrix2")
result <- array(c(vector1, vector2), dim = c(3, 4, 2), dimnames = list(row.names, column.names,
matrix.names))
result(3, 3, 2)

Väljund:

Selle kokkuvõtteks kasutatakse indeksi tähistamiseks nurksulgu. Indeksi täpsustamiseks massiivides on saadaval neli valikut: positiivsed täisarvud, negatiivsed täisarvud, loogilised väärtused, elementide nimed

2. stsenaarium:

Juurdepääs peab olema kogu 1. massiivi maatriksil:

R kood:

vector1 <- c(2, 18, 30)
vector2 <- c(10, 14, 17, 13, 11, 15, 22, 11, 33)
column.names <- c("COL1", "COL2", "COL3", "COL4")
row.names <- c("ROW1", "ROW2", "ROW3")
matrix.names <- c("Matrix1", "Matrix2")
result <- array(c(vector1, vector2), dim = c(3, 4, 2), dimnames = list(row.names, column.names,
matrix.names))
result(,, 1)

Väljund:

Erinevad massiivi operatsioonid näidetega

See jaotis annab teile ülevaate mitmesugustest massiivides tehtavatest toimingutest erinevate tulemuste saavutamiseks.

1. Liitmine ja lahutamine:

Mitmemõõtmeline maatriks tuleb teisendada ühemõõtmeliseks maatriksiks, et seda liita või lahutada.

  • Täiendus:

R-kood:

vector1 <- c(2, 18, 30)
vector2 <- c(10, 14, 17, 13, 11, 15, 22, 11, 33)
column.names <- c("COL1", "COL2", "COL3", "COL4")
row.names <- c("ROW1", "ROW2", "ROW3")
matrix.names <- c("Matrix1", "Matrix2")
result <- array(c(vector1, vector2), dim = c(3, 4, 2), dimnames = list(row.names, column.names,
matrix.names))
result(,, 1) result(,, 2) print(result(,, 1) + result(,, 2))

Väljund:

  • Lahutamine:

R-kood:

vector1 <- c(2, 18, 30)
vector2 <- c(10, 14, 17, 13, 11, 15, 22, 11, 33)
column.names <- c("COL1", "COL2", "COL3", "COL4")
row.names <- c("ROW1", "ROW2", "ROW3")
matrix.names <- c("Matrix1", "Matrix2")
result <- array(c(vector1, vector2), dim = c(3, 4, 2), dimnames = list(row.names, column.names,
matrix.names))
result(,, 1) result(,, 2) print(result(,, 1) - result(,, 2))

Väljund:

2. Massiivi elemendi arvutused

Funktsiooni nimi apply () aitab rakendada mis tahes toiminguid massiivi elementide vahel.

Süntaks:

apply(x, margin, fun)

Siin x on massiiv, siin marginaal viitab kas ridadele või veergudele.

  • MARGIN = 1 ridade kaupa töötamiseks
  • MARGIN = 2 veergude kaupa toimimiseks
  • MARGIN = c (1, 2) mõlema jaoks.

Lõbus on andmeraami massiivi elementide suhtes rakendatav funktsioon. See võib olla standardfunktsioon, mis on osa R-st, või kohandatud funktsioonid (kasutaja määratletud)

Näide 1:

Rise W tark kood:

vector1 <- c(2, 18, 30)
vector2 <- c(10, 14, 17, 13, 11, 15, 22, 11, 33)
column.names <- c("COL1", "COL2", "COL3", "COL4")
row.names <- c("ROW1", "ROW2", "ROW3")
matrix.names <- c("Matrix1", "Matrix2")
result <- array(c(vector1, vector2), dim = c(3, 4, 2), dimnames = list(row.names, column.names,
matrix.names))
result(,, 1) result(,, 2) apply(result(,, 1), 1, sum)

Väljund:

Veeru tark - R kood:

vector1 <- c(2, 18, 30)
vector2 <- c(10, 14, 17, 13, 11, 15, 22, 11, 33)
column.names <- c("COL1", "COL2", "COL3", "COL4")
row.names <- c("ROW1", "ROW2", "ROW3")
matrix.names <- c("Matrix1", "Matrix2")
result <- array(c(vector1, vector2), dim = c(3, 4, 2), dimnames = list(row.names, column.names,
matrix.names))
result(,, 1) result(,, 2) apply(result(,, 1), 2, sum)

Väljund:

See annab väljundi vektorkujul, mis sisaldab üksikute veergude summat. Siin on “summa” standardne R-funktsioon.

Näide 2:

R kood:

vector1 <- c(2, 18, 30)
vector2 <- c(10, 14, 17, 13, 11, 15, 22, 11, 33)
column.names <- c("COL1", "COL2", "COL3", "COL4")
row.names <- c("ROW1", "ROW2", "ROW3")
matrix.names <- c("Matrix1", "Matrix2")
result <- array(c(vector1, vector2), dim = c(3, 4, 2), dimnames = list(row.names, column.names,
matrix.names))
result(,, 1) result(,, 2) apply(result(,, 1), 1, function(x) x+10)

Väljund:

See annab sama mõõtmega väljundi. Siin tuleb tähele panna seda, et oleme rakendanud kasutaja määratletud funktsiooni. See funktsioon on reaalainete probleemide lahendamisel väga kasulik ja võimas. Rakendatud funktsioon on alus ka muudele keerukatele funktsioonidele nagu lapply (), rapply () jne.

3. Kontrollige massiivi

Kontrollige massiivi olemasolu, kui objekt on massiiv või mitte. Funktsiooni nimi on.array () on primitiivne funktsioon, mis võimaldab seda teha. Selle väljund on tõene või vale

R kood:

vector1 <- c(2, 18, 30)
vector2 <- c(10, 14, 17, 13, 11, 15, 22, 11, 33)
column.names <- c("COL1", "COL2", "COL3", "COL4")
row.names <- c("ROW1", "ROW2", "ROW3")
matrix.names <- c("Matrix1", "Matrix2")
result <- array(c(vector1, vector2), dim = c(3, 4, 2), dimnames = list(row.names, column.names,
matrix.names))
result(,, 1) result(,, 2) is.array(result)

Väljund:

4. Kontrollige massiivi suurust

Mõõtmete, rea ridade ja massiiviveergude tundmine aitab andmete viilutamisel ja kuubikuteks jaotamisel. Siin on mõned funktsioonid, mida selleks teha: hämar, null, ncol

R-kood:

vector1 <- c(2, 18, 30)
vector2 <- c(10, 14, 17, 13, 11, 15, 22, 11, 33)
result <- array(c(vector1, vector2), dim = c(3, 4, 2))
print(result)
dim(result)
nrow(result)
ncol(result)

Väljund:

5. Kontrollige rea ja veeru nimesid

Massiivi ridade, veergude ja mõõtmete nimede teadasaamiseks. Allpool on näidatud selle rakendamine.

R-kood:

vector1 <- c(2, 18, 30)
vector2 <- c(10, 14, 17, 13, 11, 15, 22, 11, 33)
column.names <- c("COL1", "COL2", "COL3", "COL4")
row.names <- c("ROW1", "ROW2", "ROW3")
matrix.names <- c("Matrix1", "Matrix2")
result <- array(c(vector1, vector2), dim = c(3, 4, 2), dimnames = list(row.names, column.names,
matrix.names))
rownames(result)
colnames(result)
dimnames(result)

Väljund:

Järeldus:

Ülaltoodud sisu läbimine oleks andnud teile selge arusaamise massiividest R. R on statistiline keel ja massiive kasutatakse sageli andmeobjektidena. See tähendab, et töötamine mitmesuguste toimingutega, nagu mis tahes rakenduse massiivi lisamine, lahutamine, rakendamine jne, on nüüd teie jaoks kooki jalutuskäik.

Soovitatavad artiklid

See on olnud R. massiivi juhend. Siin käsitleme sissejuhatust massiivi R-sse, R-i omadustesse, kuidas massiivi luua R-s ja mõnda näidisnäidet. Lisateavet leiate ka meie muudest soovitatud artiklitest -

  1. Paigaldage R
  2. VBA massiivid
  3. Andmetüübid MATLAB-is
  4. VBA ArrayList
  5. Massiivid PHP-s

Kategooria: