A: como classificar o quadro de dados usando o atributo row.names


Você pode usar os dois métodos a seguir para classificar um quadro de dados em R usando o atributo row.names :

Método 1: classificar usando caracteres row.names

 df[order( row.names (df)), ]

Método 2: classificar usando row.names numéricos

 df[order(as. numeric (row. names (df))), ]

Os exemplos a seguir mostram como usar cada método na prática.

Exemplo 1: Classifique o quadro de dados usando nomes de linhas de caracteres

Suponha que temos o seguinte quadro de dados em R:

 #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

Podemos usar a seguinte sintaxe para classificar as linhas no quadro de dados em ordem alfabética usando o atributo 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

As linhas são classificadas de A a Z com base no valor do nome da linha.

Você também pode usar o argumento descendente=TRUE para classificar de Z a A:

 #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

Exemplo 2: Classifique o quadro de dados usando nomes de linhas numéricos

Suponha que temos o seguinte quadro de dados em R:

 #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

Podemos usar a seguinte sintaxe para classificar as linhas no quadro de dados usando o atributo 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

Também poderíamos usar descendente=TRUE para classificar do maior para o menor:

 #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

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras operações comuns em R:

Como usar sort(), order() e Rank() em R
Como classificar por múltiplas colunas em R
Como classificar um quadro de dados por data em R

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *