Inhoudsopgave:
Video: Film 3.2 Matrixrijen en kolommen v20191010 2024
De functie rbind () in R voegt gemakkelijk de namen van de vectoren toe aan de rijen van de matrix. U geeft de waarden in een vector een naam en u kunt iets vergelijkbaars doen met rijen en kolommen in een matrix.
Hiervoor hebt u de functies rownames () en colnames (). Raad eens wie wat doet? Beide functies werken ongeveer zoals de namen () functie die u gebruikt bij het benoemen van vectorwaarden.
De rij- en kolomnamen wijzigen
De matrixmanden. team heeft al enkele rijnamen. Het zou beter zijn als de namen van de rijen gewoon "oma" en "geraldine" zouden zijn. Je kunt deze rijnamen eenvoudig als volgt wijzigen: >> rownames (manden, team) <- c ("Granny", "Geraldine")
Je kunt naar de matrix kijken om te controleren of dit heeft gedaan wat het zou moeten doen doen, of u kunt de rijnamen zelf als volgt bekijken: >> rownames (baskets. team) [1] "Granny" "Geraldine"
De functie colnames () werkt precies hetzelfde. U kunt bijvoorbeeld het nummer van het spel als kolomnaam toevoegen met behulp van de volgende code:
>> colnames (manden. Team) <- c ("1e", "2e", "3e", "4e", "5e", "6e")
Dit geeft u de volgende matrix: >> manden. team 1ste 3de 4de 5de 6de oma 12 4 5 6 9 3 Geraldine 5 4 2 4 12 9
Dit is bijna zoals u het wilt, maar de derde kolomnaam bevat een vervelende schrijffout. Geen probleem, met R kun je die fout gemakkelijk corrigeren. Net als de functie met (), kunt u indexen gebruiken om een specifieke rij- of kolomnaam te extraheren of te wijzigen. U kunt de fout in de kolomnamen als volgt corrigeren:>> colnames (baskets. Team) [3] <- "3e"
Als u de kolomnamen of rijnamen wilt verwijderen, hoeft u alleen maar hun waarde voor NULL. Dit werkt overigens ook voor vectornamen. Je kunt dat zelf proberen op een kopie van de matrixmanden. team zoals dit: >> manden. kopieer colnames (manden, kopie) manden. kopie [1] [2] [3] [4] [5] [6] oma 12 4 5 6 9 3 Geraldine 5 4 2 4 12 9
R slaat de rij- en kolomnamen op in een attribuut genaamd dimnames. Gebruik de functie dimnames () om die waarden te extraheren of in te stellen.
Namen gebruiken als indices
Deze rij- en kolomnamen kunnen worden gebruikt net zoals u namen voor waarden in een vector gebruikt. U kunt deze namen gebruiken in plaats van het indexnummer om waarden van een vector te selecteren. Dit werkt ook voor matrices, met behulp van de rij- en kolomnamen.Stel dat je de tweede en de vijfde game voor beide dames wilt selecteren, probeer: >> manden.team [c ("2e", "5e")] 2e 5e oma 4 9 Geraldine 4 12
Precies zoals eerder, krijgt u alle rijen als u niet opgeeft welke u wilt. Als alternatief kun je alle resultaten voor oma als volgt uitpakken: >> manden. team ["Granny",] 1e 2e 3e 4e 5e 6e 12 4 5 6 9 3
Dat is inderdaad het resultaat, maar de roepnaam is nu verdwenen. R probeert de matrix te vereenvoudigen tot een vector, als dat mogelijk is. In dit geval wordt een enkele rij geretourneerd, dus standaard wordt dit resultaat omgezet in een vector.
Als een matrix van één rij wordt vereenvoudigd tot een vector, worden de kolomnamen gebruikt als namen voor de waarden. Als een matrix met één kolom wordt vereenvoudigd tot een vector, worden de rijnamen gebruikt als namen voor de vector. Als u alle namen wilt behouden, moet u de argumentval op FALSE zetten om conversie naar een vector te voorkomen.