Inleiding tot arrays in R

Zoals we weten, zijn arrays de objecten die twee of meer dan tweedimensionale gegevens kunnen opslaan. In R heeft Array hetzelfde concept, dat is gemaakt met de functie array (). Hier worden gegevens opgeslagen in formuliermatrices, rijen en kolommen. Om toegang te krijgen tot een specifiek element uit de array, moet men rijindex, kolomindex en matrixniveau opgeven.

Matrices die vaak in R worden gebruikt, is een speciaal type 2D-array.

Afbeeldingweergave: Vector, Matrix, Array

  • Eén-dimensionale array aangeduid als een vector.
  • Tweedimensionale matrix, matrix genoemd.

Syntaxis:

Hier is de syntaxis van array:

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

  • data - Data is een invoervector die naar de array wordt gevoerd.
  • matrices - Dit verwijst naar de dimensionaliteit van matrices. Array in R kan multidimensionale matrices zijn.
  • row_Size - row_Size geeft het aantal rijen weer waaruit een array zal bestaan.
  • column_Size - column_Size geeft het aantal kolommen weer waaruit een array zal bestaan.
  • dimnames - Dit veld als u de standaardnamen van rijen en kolommen wilt wijzigen in de wens / voorkeur van de gebruiker.

Eigendommen:

  • Het is homogeen. Dat betekent dat het hetzelfde type gegevens kan opslaan.
  • Het slaat gegevens op in aangrenzend geheugen
  • Array-elementen zijn toegankelijk door het indexnummer te kennen.

Hoe maak je een array in R?

Hieronder staan ​​verschillende scenario's voor het maken van een array in r als volgt:

Scenario 1:

Laten we een array maken die 3 × 4 matrices zou zijn. Hier zullen 3 rijen en 4 kolommen zijn, matrixen één. Laten we als eerste stappen dimnames = NULL behouden (wat een standaardwaarde is, als er niets is opgegeven).

Dit is een eendimensionale matrix

R-code:

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)))

Output:

Om te controleren of de uiteindelijk gecreëerde array is gemaakt of niet.

Zodra de array is gemaakt:

Resultaat

De functie "klasse" kan u daarbij helpen.

klasse (resultaat)

R-code:

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)

Output:

Om het product van de dimensie van de array te controleren, kan men functie: lengte gebruiken.

R-code:

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)

Output:

Scenario 2:

Laten we dezelfde array maken, namelijk 3 × 4 matrices. Ook hier zal 3 een rij zijn en 4 kolommen, maar matrices twee. Laten we dimnames = NULL behouden (dit is een standaardwaarde als er niets is opgegeven).

R code:

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)))

Output:

Scenario 3:

Laten we dezelfde array maken, namelijk 3 × 4 matrices. Ook hier zal 3 rij zijn en 4 kolommen, maar matrices twee. Laten we eens kijken naar waarden die zijn toegewezen aan dimnamen.

R code:

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 ))

Output:

Nu zijn we goed in het creëren van allerlei dimensionaliteit. Laten we ons nu concentreren op de manier om toegang te krijgen tot elk element in een array.

Hoe maak je een Access Elements-array in R?

Hieronder staan ​​verschillende toegangselementen voor het maken van een array in r als volgt:

Scenario 1:

Laten we zeggen dat we dezelfde array in R hebben:

R-code:

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))

Output:

Nu moeten we toegang krijgen tot de 3e rij, de 3e kolom van de tweede matrix in de array.

R-code:

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)

Output:

Om dit samen te vatten, worden vierkante haakjes gebruikt om een ​​index aan te duiden. Om de index in arrays op te geven, zijn er vier keuzes beschikbaar: positieve gehele getallen, negatieve gehele getallen, logische waarden, elementnamen

Scenario 2:

Men moet toegang hebben tot een volledige 1e matrixmatrix:

R-code:

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)

Output:

Verschillende matrixbewerking met voorbeelden

In dit gedeelte krijgt u grip op verschillende bewerkingen die op arrays zijn uitgevoerd om verschillende resultaten te bereiken.

1. Optellen en aftrekken:

Multidimensionale matrix moet worden geconverteerd naar de eendimensionale matrix om te worden opgeteld of afgetrokken.

  • toevoeging:

R code:

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))

Output:

  • aftrekken:

R code:

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))

Output:

2. Berekeningen op matrixelement

Een functienaam apply () helpt bij het toepassen van elke bewerking op matrixelementen.

Syntaxis:

apply(x, margin, fun)

Hier is x een matrix, de marge verwijst hier naar rijen of kolommen.

  • MARGIN = 1 voor rijgewijze bediening
  • MARGE = 2 voor kolomgewijze werking
  • MARGE = c (1, 2) voor beide.

Leuk is de functie die wordt toegepast op elementen in de reeks van het gegevensframe. Dit kunnen de standaardfuncties zijn die deel uitmaken van R of aangepaste functies (door de gebruiker gedefinieerd)

Voorbeeld 1:

Rij Wise R Code:

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)

Output:

Kolom Wise - R Code:

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)

Output:

Dit geeft output in vectorvorm die som van individuele kolommen bevat. Hier is "som" de standaard R-functie.

Voorbeeld 2:

R-code:

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)

Output:

Dit geeft de uitvoer van dezelfde dimensie. Het ding om op te merken is dat we de door de gebruiker gedefinieerde functie hebben toegepast. Deze functie is zeer nuttig en krachtig terwijl het echte problemen oplost. De toegepaste functie is ook de basis voor andere complexe functies zoals lapply (), rapply (), etc.

3. Controleer op Matrix

Controleer op array als het object een array is of niet. De functienaam is.array () is een primitieve functie waarmee u dit kunt doen. Het geeft output in termen waar of onwaar

R-code:

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)

Output:

4. Controleer de grootte van de array

Het kennen van dimensionaliteit, een aantal rijen, kolommen van array helpt bij het in plakjes snijden en in blokjes snijden van gegevens. Hier zijn enkele functies om dat te doen: dim, nrow, ncol

R code:

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)

Output:

5. Controleer de namen van rijen en kolommen

Om de namen van rijen, kolommen en dimensienamen van een array te kennen. Hieronder vindt u de getoonde implementatie ervan.

R code:

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)

Output:

Conclusie:

Het doornemen van de bovenstaande inhoud zou u een duidelijk begrip van arrays in R. hebben gegeven. R is een statistische taal en arrays zijn vaak gebruikte gegevensobjecten. Dit betekent dat het werken met verschillende bewerkingen zoals optellen, aftrekken, toepassen enz. Met een array in elke toepassing nu een fluitje van een cent is voor jou.

Aanbevolen artikelen

Dit is een gids voor Array in R. Hier bespreken we een inleiding tot Arrays in R, eigenschappen van R, hoe een array in R te maken en enkele voorbeelden van voorbeelden. U kunt ook onze andere voorgestelde artikelen doornemen voor meer informatie -

  1. Installeer R
  2. VBA-reeksen
  3. Gegevenstypen in MATLAB
  4. VBA ArrayList
  5. Arrays in PHP

Categorie: