Innehållsförteckning:
- Så här använder du numeriska index i R
- Med matriser betyder ett negativt index alltid: rad eller kolumn. "Om du bara vill släppa elementet i andra raden och den tredje kolumnen måste du behandla matrisen som en vektor. Så, i det här fallet släpper du det andra elementet i den tredje kolumnen så här: >> nr id först. matris [-id] [1] 1 2 3 4 5 6 7 9 10 11 12
Video: Statistical Programming with R by Connor Harris 2024
Du kan använda dessa index på samma sätt som du använder vektorer i R. Du kan tilldela och extrahera värden, använd numeriska eller logiska index, släpp värden med hjälp av ett minustecken och så vidare.
Så här använder du numeriska index i R
Du kan till exempel extrahera värdena i de två första raderna och de två sista kolumnerna med följande kod: >> först. matris [1: 2, 2: 3] [1] [2] [1,] 4 7 [2,] 5 8
R returnerar en matris igen. Var uppmärksam på indexerna för den här nya matrisen - de är inte indexerna för den ursprungliga matrisen längre.
Hur man släpper värden med negativa index < Du kan släppa värden i en vektor genom att använda ett negativt värde för indexet. Detta lilla trick fungerar också bra med matriser. Så kan du få alla värden utom den andra raden och tredje kolumnen först. matris så här:
>> först. matris [-2, -3] [1] [2] [3] [1,] 1 4 10 [2,] 3 6 12
Med matriser betyder ett negativt index alltid: rad eller kolumn. "Om du bara vill släppa elementet i andra raden och den tredje kolumnen måste du behandla matrisen som en vektor. Så, i det här fallet släpper du det andra elementet i den tredje kolumnen så här: >> nr id först. matris [-id] [1] 1 2 3 4 5 6 7 9 10 11 12
Detta returnerar en vektor, eftersom de 11 återstående elementen inte passar in i en matris längre. Nu vad hände här exakt? Kom ihåg att matriser läses kolumnvisa. För att få det andra elementet i den tredje kolumnen måste du göra följande:
Räkna antalet rader med nrow () och lagra det i en variabel - till exempel nr.
Du behöver inte göra det, men det gör koden lättare att läsa.
Räkna två kolumner och lägg sedan till 2 för att få det andra elementet i den tredje kolumnen.
Spara det här resultatet igen i en variabel (till exempel id).
Använd den endimensionella vektorns extraktion [] för att släppa detta värde.-
Du kan göra detta i en rad, så här: >> först. matris [- (2 * nrow (första matrisen) + 2)] [1] 1 2 3 4 5 6 7 9 10 11 12
Detta är bara ett exempel på hur du kan arbeta med index medan du behandlar en matris som en vektor. Det kräver lite tänkande först, men tricks som dessa kan också erbjuda mycket snygga lösningar på mer komplexa problem, särskilt om du behöver din kod för att springa så fort som möjligt.