Video: The Great Gildersleeve: Gildy the Executive / Substitute Secretary / Gildy Tries to Fire Bessie 2024
Som standard forsøker R alltid å forenkle objektene til det minste antall dimensjoner som er mulig når du bruker parentesene til å trekke verdier fra en matrise. Så, hvis du ber om bare en kolonne eller rad, vil R gjøre det til en vektor ved å slippe en dimensjon.
Som med vektorer kan du kombinere flere tall i indeksene. Hvis du vil slippe den første og tredje raden av matrisen, kan du gjøre slik:
Vent litt … Det er bare en indeks. R returnerer ikke en matrise her - den returnerer en vektor!
Du kan tvinge R for å beholde alle dimensjoner ved å bruke ekstra argumentdråpe fra indekseringsfunksjonen. For å få den andre raden tilbake som en matrise, gjør du følgende: >> først. matrise [2, drop = FALSE] [1] [2] [3] [4] [1,] 2 5 8 11
Dette virker som utrolig magi, men det er ikke så vanskelig. Du har tre posisjoner nå mellom parentesene, alle adskilt av kommaer. Den første posisjonen er radindeksen. Den andre posisjonen er kolonneindeksen. Men så hva?
Faktisk fungerer firkantede parentes som en funksjon, og radindeksen og kolonneindeksen er argumenter for firkantede parenteser. Nå legger du til et ekstra argumentfall med verdien FALSE. Som du gjør med en annen funksjon, skiller du argumentene med kommaer. Sett alt sammen, og du har koden vist her.
Erstatter verdier i en matrise gjøres på en svært lik måte å erstatte verdier i en vektor. For å erstatte verdien i andre rad og tredje kolonne først. Matrise med 4, bruker du følgende kode.
Du kan også endre en hel rad eller kolonne av verdier ved ikke å spesifisere den andre dimensjonen. Vær oppmerksom på at verdiene resirkuleres, slik at du kan endre den andre raden til sekvensen 1, 3, 1, 3, du kan bare gjøre følgende: >> først. matrise [2,] først. matrise [1] [2] [3] [4] [1,] 1 4 7 10 [2,] 1 3 1 3 [3,] 3 4 9 12
Du kan også erstatte en delmengde av verdier i matrisen av en annen matrise. Du trenger ikke engang å spesifisere verdiene som en matrise - en vektor vil gjøre. Ta en titt på resultatet av følgende kode:>> først. matrise [1: 2, 3: 4] først. matrise [1] [2] [3] [4] [1,] 1 4 8 2 [2,] 1 3 4 1 [3,] 3 4 9 12
Her endrer du verdiene i De to første radene og de to siste kolonnene til tallene 8, 4, 2 og 1.
R leser og skriver matriser kolonnevis som standard.Så, hvis du setter en vektor i en matrise eller en delmengde av en matrise, blir den satt i kolonnevis uavhengig av metoden. Hvis du vil gjøre dette radvis, må du først konstruere en matrise med verdiene ved hjelp av argumentet byrow = TRUE. Deretter bruker du denne matrisen i stedet for den opprinnelige vektoren for å sette inn verdiene.