Функция match() в R - Сопоставление элементов

R 语言实例Примеры на языке R

Функция match() в R используется для поиска позиции первого вхождения элементов одного вектора в другом векторе.

match() аналогична оператору %in%, но возвращает позиции, а не логические значения.

Синтаксис функции match() выглядит следующим образом:

match(x, table, nomatch = NA_integer_)

Описание параметров:

  • xВектор элементов, которые нужно найти.

  • tableЦелевой вектор, в котором выполняется поиск.

  • nomatchЗначение, возвращаемое при неудачном сопоставлении, по умолчанию NA.

Примеры

# Найти позиции элементов
fruits <- c("яблоко", "банан", "апельсин", "виноград", "арбуз")
wanted <- c("банан", "арбуз", "лимон")

# Найти позиции элементов wanted в fruits
positions <- match(wanted, fruits)
print("Результаты сопоставления:")
print(positions)

# Соответствующий поиск: используйте positions для получения фактических значений
print("Найденные фрукты:")
print(fruits[positions[!is.na(positions)]])

Выполнение приведенного выше кода дает следующий вывод:

[1] "匹配结果:"
[1]  2  5 NA
[1] "找到的水果:"
[1] "香蕉" "西瓜"

match() часто используется для переупорядочивания другого набора данных на основе одного вектора:

Примеры

# Таблица оценок студентов
student_names <- c("Чжан Сань", "Ли Сы", "Ван У", "Чжао Лю")
scores <- c(88, 92, 76, 85)
names(scores) <- student_names

# Упорядочить оценки в определённом порядке
wanted_order <- c("Ван У", "Чжао Лю", "Чжан Сань", "Ли Сы")
idx <- match(wanted_order, names(scores))
print("Оценки, упорядоченные в указанном порядке:")
print(scores[idx])

Выполнение приведенного выше кода дает следующий вывод:

[1] "按指定顺序排列的成绩:"
王五 赵六 张三 李四
 76   85   88   92

R 语言实例Примеры на языке R

Другие расширения