Innehållsförteckning:
- Transponera en matris i R
- Var försiktig med att invertera en matris som denna på grund av risken för avrundningsfel. R beräknar mest statistik baserad på sönderdelningar som QR-sönderdelning, enkelvärdes sönderdelning och Cholesky-sönderdelning. Du kan göra det själv med funktionerna qr (), svd () respektive chol (). Läs de respektive hjälpsidorna för mer information.
Video: Matriser och matrismultiplikation 2024
Förutom de klassiska aritmetiska operatörerna innehåller R en stor uppsättning operatörer och funktioner för att utföra ett brett uppsättning av matrisoperationerna. Många av dessa operationer används i avancerad matematik, så du kan aldrig behöva dem. Vissa av dem kan dock vara ganska praktiska, om du behöver vända om data eller själv vill beräkna statistik.
Transponera en matris i R
Vänd runt en matris så att raderna blir kolumner och vice versa är väldigt lätt i R. Funktionen t () (som står för transponera ) gör allt arbete för dig:
Du kan också prova detta med en vektor. Eftersom matriser läses och fylls kolumnvis bör det inte komma som en överraskning att funktionen t () ser en vektor som en kolumnmatris. Transponeringen av en vektor är således en enradsmatris: >> 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 säga att detta är en matris av dimensionerna. Denna information verkar trivial förresten, men tänk dig att du bara väljer en rad från en matris och transponerar den. Till skillnad från vad du kan förvänta dig får du en rad i stället för en kolumn:
>> t (första matrisen [2,]) [1] [2] [3] [4] [1,] 2 5 8 11
Invertera en matris i R
I motsats till din intuition, omvandlar en matris inte genom att höja den till kraften av -1, R tillämpar normalt de aritmetiska operatörerna elementvis på matrisen. Så kommandot först. matrisen ^ (- 1) ger dig inte den inversa av matrisen; istället ger den dig den inversa av elementen. För att invertera en matris använder du funktionen solve (), så här:>> kvadrat. matrislösning (kvadratisk matris) [1] [2] [3] [1,] 0. 5-0. 8333333 0. 1666667 [2,] -0. 5 0. 6666667 0. 1666667 [3,] 0. 5 -0. 1666667 -0. 1666667
Var försiktig med att invertera en matris som denna på grund av risken för avrundningsfel. R beräknar mest statistik baserad på sönderdelningar som QR-sönderdelning, enkelvärdes sönderdelning och Cholesky-sönderdelning. Du kan göra det själv med funktionerna qr (), svd () respektive chol (). Läs de respektive hjälpsidorna för mer information.
Multiplicera två matriser i R
Multiplikationsoperatören (*) arbetar elementvis på matriser. För att beräkna den inre produkten av två matriser använder du specialoperatören% *%, så här: >> först. matris% *% t (andra matrisen) [1] [2] [3] [1,] 22 44 66 [2,] 26 52 78 [3,] 30 60 90Du måste transponera den andra.matris först; annars har båda matriserna otillbörliga dimensioner. Multiplicera en matris med en vektor är lite av ett speciellt fall; så länge dimensionerna passar, konverterar R automatiskt vektorn till antingen en rad eller en kolumnmatris, vad som än är tillämpligt i det fallet. Du kan kontrollera själv i följande exempel: >> först. matris% *% 1: 4 [1] [1] 70 [2] 80 [3] 90> 1: 3% *% först. matris [1] [2] [3] [4] [1] 14 32 50 68