Inhoudsopgave:
- Transponeer een matrix in R
- Wees voorzichtig met het omkeren van een matrix als deze vanwege het risico op afrondingsfouten. R berekent de meeste statistieken op basis van decomposities zoals de QR-decompositie, ontleding met één waarde en Cholesky-decompositie. U kunt dat zelf doen met behulp van de functies qr (), svd () en chol (), respectievelijk. Raadpleeg de respectieve Help-pagina's voor meer informatie.
Video: How to Make a Matrix on Excel : Microsoft Excel Help 2024
Afgezien van de klassieke rekenkundige operatoren, bevat R een groot aantal operatoren en functies om een brede set uit te voeren van matrixbewerkingen. Veel van deze bewerkingen worden gebruikt in geavanceerde wiskunde, dus misschien heb je ze nooit nodig. Sommige daarvan kunnen echter handig zijn als u gegevens moet omdraaien of als u zelf statistieken wilt berekenen.
Transponeer een matrix in R
Flipping rond een matrix zodat de rijen kolommen worden en omgekeerd is heel gemakkelijk in R. De functie t () (wat staat voor transponeren ) doet al het werk voor jou:
Je kunt dit ook met een vector proberen. Naarmate matrixen worden gelezen en kolomgewijs worden ingevuld, zou het geen verrassing moeten zijn dat de functie t () een vector als een matrix met één kolom ziet. Het transponeren van een vector is dus een matrix van één rij: >> t (1: 10) [1] [2] [3] [4] [5] [6] [, 7] [8] [9] [10] [1,] 1 2 3 4 5 6 7 8 9 10
Je kunt zien dat dit een matrix is volgens de dimensies. Deze informatie lijkt trouwens triviaal, maar stel je voor dat je maar één rij uit een matrix selecteert en deze omzet. In tegenstelling tot wat je zou verwachten, krijg je een rij in plaats van een kolom:
>> t (eerst matrix [2,]) [1] [2] [3] [4] [1,] 2 5 8 11
Een matrix omkeren in R
In tegenstelling tot uw intuïtie, wordt het omkeren van een matrix niet gedaan door deze op te tillen tot -1. R past de rekenkundige bewerkers elementair toe op de matrix. Dus het commando eerst. matrix ^ (- 1) geeft je niet de inverse van de matrix; in plaats daarvan geeft het je het omgekeerde van de elementen. Om een matrix te inverteren, gebruikt u de functie solve (), zoals deze:>> vierkant. matrix solve (vierkante matrix) [1] [2] [3] [1,] 0. 5 -0. 8333333 0. 1666667 [2,] -0. 5 0.6666667 0.1666667 [3,] 0. 5 -0. 1666667 -0. 1666667
Wees voorzichtig met het omkeren van een matrix als deze vanwege het risico op afrondingsfouten. R berekent de meeste statistieken op basis van decomposities zoals de QR-decompositie, ontleding met één waarde en Cholesky-decompositie. U kunt dat zelf doen met behulp van de functies qr (), svd () en chol (), respectievelijk. Raadpleeg de respectieve Help-pagina's voor meer informatie.
Vermenigvuldig twee matrices in R
De operator voor vermenigvuldiging (*) werkt elementair op matrices. Om het binnenproduct van twee matrices te berekenen, gebruikt u eerst de speciale operator% *%, zoals deze: >>. matrix% *% t (tweede matrix) [1] [2] [3] [1,] 22 44 66 [2,] 26 52 78 [3,] 30 60 90u moet transponeren de seconde.matrix eerst; anders hebben beide matrices niet-aanpasbare dimensies. Het vermenigvuldigen van een matrix met een vector is een beetje een speciaal geval; zolang de afmetingen passen, converteert R de vector automatisch naar een rij of kolommatrix, wat dan ook van toepassing is. U kunt het zelf controleren in het volgende voorbeeld: >> eerst. matrix% *% 1: 4 [1] [1,] 70 [2,] 80 [3,] 90> 1: 3% *% eerst. matrix [1] [2] [3] [4] [1,] 14 32 50 68