A: hoe gegevensframes te sorteren met behulp van het kenmerk row.names
U kunt de volgende twee methoden gebruiken om een gegevensframe in R te sorteren met behulp van het kenmerk row.names :
Methode 1: Sorteren met behulp van row.names-tekens
df[order( row.names (df)), ]
Methode 2: Sorteren met numerieke rij.namen
df[order(as. numeric (row. names (df))), ]
De volgende voorbeelden laten zien hoe u elke methode in de praktijk kunt gebruiken.
Voorbeeld 1: Gegevensframe sorteren met rijnamen van tekens
Stel dat we het volgende dataframe in R hebben:
#create data frame
df <- data. frame (position=c('G', 'G', 'F', 'F', 'C'),
points=c(99, 90, 86, 88, 95),
assists=c(33, 28, 31, 39, 34),
rebounds=c(30, 28, 24, 24, 28))
#set row names of data frame
row. names (df) <- c('A', 'C', 'E', 'D', 'B')
#view data frame
df
position points assists rebounds
GA 99 33 30
CG 90 28 28
EF 86 31 24
FD 88 39 24
BC 95 34 28
We kunnen de volgende syntaxis gebruiken om de rijen in het dataframe alfabetisch te sorteren met behulp van het kenmerk row.names :
#sort rows alphabetically using row.names
df[order( row.names (df)), ]
position points assists rebounds
GA 99 33 30
BC 95 34 28
CG 90 28 28
FD 88 39 24
EF 86 31 24
Rijen worden gesorteerd van A tot Z op basis van de rijnaamwaarde.
Je kunt ook het argument aflopend=TRUE gebruiken om van Z naar A te sorteren:
#sort rows from Z to A using row.names
df[order(row. names (df), decreasing= TRUE ), ]
position points assists rebounds
EF 86 31 24
FD 88 39 24
CG 90 28 28
BC 95 34 28
GA 99 33 30
Voorbeeld 2: Sorteer het gegevensframe met behulp van numerieke rijnamen
Stel dat we het volgende dataframe in R hebben:
#create data frame
df <- data. frame (position=c('G', 'G', 'F', 'F', 'C'),
points=c(99, 90, 86, 88, 95),
assists=c(33, 28, 31, 39, 34),
rebounds=c(30, 28, 24, 24, 28))
#set row names of data frame
row. names (df) <- c(1, 100, 4, 12, 19)
#view data frame
df
position points assists rebounds
1G 99 33 30
100G 90 28 28
4 F 86 31 24
12 F 88 39 24
19 C 95 34 28
We kunnen de volgende syntaxis gebruiken om de rijen in het dataframe te sorteren met behulp van het kenmerk row.names :
#sort by row names from smallest to largest
df[order(as. numeric (row. names (df))), ]
position points assists rebounds
1G 99 33 30
4 F 86 31 24
12 F 88 39 24
19 C 95 34 28
100G 90 28 28
We kunnen ook aflopend=TRUE gebruiken om van groot naar klein te sorteren:
#sort by row names from largest to smallest
df[order(as. numeric (row. names (df)), decreasing= TRUE ), ]
position points assists rebounds
100G 90 28 28
19 C 95 34 28
12 F 88 39 24
4 F 86 31 24
1G 99 33 30
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende bewerkingen in R kunt uitvoeren:
Hoe sort(), order() en Rank() in R te gebruiken
Sorteren op meerdere kolommen in R
Hoe een dataframe op datum te sorteren in R