Indholdsfortegnelse:
- Transponér en matrix i R
- Vær forsigtig med at omdanne en matrix som denne på grund af risikoen for rundefejl. R beregner de fleste statistikker baseret på nedbrydelser som QR-dekomponering, enkeltværdisopdeling og Cholesky-dekomponering. Du kan gøre det selv ved hjælp af funktionerne qr (), svd () og henholdsvis chol (). Se de respektive hjælpesider for at få flere oplysninger.
Video: Hvordan man gør og ikke gør ting 2025
Bortset fra de klassiske aritmetiske operatører indeholder R et stort antal operatører og funktioner til at udføre et bredt sæt af matrixoperationer. Mange af disse operationer bruges i avanceret matematik, så du behøver måske aldrig dem. Nogle af dem kan dog komme i hende, hvis du har brug for at vende rundt data eller selv beregne nogle statistikker.
Transponér en matrix i R
Vend rundt om en matrix, så rækkerne bliver kolonner og omvendt er meget let i R. Funktionen t () (som står for transponere ) gør alt arbejdet til dig:
Du kan også prøve dette med en vektor. Som matricer læses og fyldes kolonnevis, bør det ikke komme som en overraskelse, at t () -funktionen ser en vektor som en matrix med en kolonne. Transponeringen af en vektor er således en en-rækken matrix: >> t (1: 10) [1] [2] [3] [4] [5] [6] [, 7] [8] [9] [10] [1,] 1 2 3 4 5 6 7 8 9 10
Du kan se, at dette er en matrix af dimensionerne. Disse oplysninger synes trivielt forresten, men forestil dig at du kun vælger en række fra en matrix og transponerer den. I modsætning til hvad du ville forvente, får du en række i stedet for en kolonne:
>> t (første matrix [2,]) [1] [2] [3] [4] [1,] 2 5 8 11
Inverter en matrix i R
I modsætning til din intuition anvender R almindeligvis de aritmetiske operatører elementært på matricen, i modsætning til din intuition, og omvendt en matrix gøres ikke ved at hæve den til -1. Så kommandoen først. matrix ^ (- 1) giver dig ikke den inverse af matrixen; i stedet giver det dig den inverse af elementerne. For at omgå en matrix bruger du funktionen solve (), som denne:>> kvadrat. matrix opløsning (kvadratisk 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
Vær forsigtig med at omdanne en matrix som denne på grund af risikoen for rundefejl. R beregner de fleste statistikker baseret på nedbrydelser som QR-dekomponering, enkeltværdisopdeling og Cholesky-dekomponering. Du kan gøre det selv ved hjælp af funktionerne qr (), svd () og henholdsvis chol (). Se de respektive hjælpesider for at få flere oplysninger.
Multiplicer to matricer i R
Multiplikationsoperatøren (*) arbejder elementvist på matricer. For at beregne det indre produkt af to matricer bruger du specialoperatøren% *%, som denne: >> først. matrix% *% t (anden matrix) [1] [2] [3] [1,] 22 44 66 [2,] 26 52 78 [3,] 30 60 90Du skal omsætte Sekundet.matrix først; ellers har begge matricer ikke-tilpasselige dimensioner. Multiplicering af en matrix med en vektor er lidt af et specielt tilfælde; så længe dimensionerne passer, konverterer R automatisk vektoren til enten en række eller en kolonne matrix, hvad der er relevant i det tilfælde. Du kan tjekke dig selv i følgende eksempel: >> først. matrix% *% 1: 4 [1] [1,] 70 [2,] 80 [3] 90> 1: 3% *% først. matrix [1] [2] [3] [4] [1] 14 32 50 68