Menu
Coddy logo textTech

Ordenar vectores

Parte de la sección Lógica y flujo del Journey de R de Coddy. Lección 37 de 64.

sort(x) devuelve los valores de x en orden creciente, y decreasing = TRUE lo invierte. El vector original no cambia:

scores <- c(72, 95, 60, 88)
print(sort(scores))
print(sort(scores, decreasing = TRUE))
print(scores)

Salida:

[1] 60 72 88 95
[1] 95 88 72 60
[1] 72 95 60 88

El texto se ordena alfabéticamente. El orden exacto depende de la configuración de idioma del sistema: en Coddy, como en muchos servidores, las letras mayúsculas van antes que las minúsculas, por lo que "Zed" se ordena antes que "ada". Convierte con tolower() cuando el uso de mayúsculas y minúsculas no deba importar:

names <- c("cy", "Zed", "ada")
print(sort(names))
print(sort(tolower(names)))

Salida:

[1] "Zed" "ada" "cy" 
[1] "ada" "cy"  "zed"

rev(x) invierte el orden actual sin ordenar, y head(x, n) conserva los primeros n elementos, lo que, junto con sort(), proporciona una lista de los valores más altos:

scores <- c(72, 95, 60, 88)
print(rev(scores))
print(head(sort(scores, decreasing = TRUE), 2))

Salida:

[1] 88 60 95 72
[1] 95 88

Un vector con nombre ordenado mantiene cada nombre con su valor, por lo que los nombres aparecen en el orden de los valores:

stock <- c(tea = 12, jam = 3, oil = 7)
low_first <- sort(stock)
print(names(low_first))
print(low_first[["jam"]])

Salida:

[1] "jam" "oil" "tea"
[1] 3
challenge icon

Desafío

Fácil

Completa top_scores(scores, n). Devuelve las n puntuaciones más altas, de mayor a menor, unidas con , . Si hay menos de n puntuaciones, devuélvelas todas.

El código proporcionado lee las puntuaciones como una línea separada por comas y n, e imprime el valor devuelto.

Pruébalo tú mismo

top_scores <- function(scores, n) {
  # Escribe tu código aquí
  ""
}

# Código de entrada/salida suministrado: déjalo como está
input <- suppressWarnings(readLines(file("stdin")))
cat(top_scores(as.numeric(strsplit(input[1], ",")[[1]]), as.numeric(input[2])), sep = "\n")
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Lógica y flujo

Practica por tu cuenta: Compilador de R online