Как использовать функцию tabulate() в R для подсчета вхождений целых чисел


Функцию tabulate() в R можно использовать для подсчета вхождений целочисленных значений в вектор.

Эта функция использует следующий базовый синтаксис:

tabulate(bin, nbins=max(1, bin, na.rm=TRUE))

куда:

  • bin : Имя вектора
  • nbins : количество используемых бинов.

В следующих примерах показано, как использовать эту функцию на практике.

Пример 1. Подсчет вхождений целых чисел в векторе

В следующем коде показано, как использовать функцию tabulate() для подсчета вхождений целых чисел в заданный вектор:

#create vector of data values
data <- c(1, 1, 1, 2, 3, 3, 3, 4, 7, 8)

#count occurrences of integers in vector
tabulate(data)

[1] 3 1 3 1 0 0 1 1

По умолчанию функция tabulate() использует 1 в качестве минимального целочисленного значения и отображает вхождения каждого последующего целого числа в векторе.

Например:

  • Целое число 1 встречается в векторе 3 раза.
  • Целое число 2 встречается в векторе 1 раз.
  • Целое число 3 встречается в векторе 3 раза.
  • Целое число 4 встречается в векторе 1 раз.
  • Целое число 5 встречается в векторе 0 раз.

И так далее.

Обратите внимание, что если вы используете аргумент nbins , вы просто ограничиваете количество целых чисел, которые подсчитывает функция tabulate() :

#count occurrences of integers but limit output to 5
tabulate(data, nbins= 5 )

[1] 3 1 3 1 0

Пример 2. Подсчет вхождений целых чисел в векторе с десятичными знаками

Если мы используем функцию tabulate() с вектором, содержащим десятичные дроби, функция просто сообщит нам, как часто встречается каждое целочисленное значение:

#create vector of data values with decimals
data <- c(1.2, 1.4, 1.7, 2, 3.1, 3.5)

#count occurrences of integers
tabulate(data)

[1] 3 1 2

Из вывода мы видим:

  • Целочисленное значение 1 встречается 3 раза.
  • Целочисленное значение 2 встречается 1 раз.
  • Целочисленное значение 3 встречается 2 раза.

Пример 3. Подсчет вхождений целых чисел в векторе с отрицательными значениями

Если мы используем функцию tabulate() с вектором, содержащим отрицательные значения или нули, функция просто проигнорирует отрицательные значения и нули:

#create vector with some negative values and zeros
data <- c(-5, -5, -2, 0, 1, 1, 2, 4)

#count occurrences of integers
tabulate(data)

[1] 2 1 0 1

Из вывода мы видим:

  • Целочисленное значение 1 встречается 2 раза.
  • Целочисленное значение 2 встречается 1 раз.
  • Целочисленное значение 3 встречается 0 раз.
  • Целочисленное значение 4 встречается 1 раз.

Альтернатива табулированию: функция table()

Если вы хотите подсчитать появление каждого значения в векторе, лучше использовать функцию table() :

#create vector with a variety of numbers
data <- c(-5, -5, -2, 0, 1, 1, 2.5, 4)

#count occurrences of each unique value in vector
table(data)

data
 -5 -2 0 1 2.5 4 
 2 1 1 2 1 1 

Из вывода мы видим:

  • Значение -5 встречается 2 раза.
  • Значение -2 встречается 1 раз.
  • Значение 0 встречается 1 раз.
  • Значение 1 встречается 2 раза.
  • Значение 2,5 встречалось 1 раз.
  • Значение 4 встречается 1 раз.

Обратите внимание, что функция table() подсчитывает появление каждого значения, а не только целочисленных значений.

Дополнительные ресурсы

В следующих руководствах объясняется, как использовать другие распространенные функции в R:

Как использовать функцию summary() в R
Как использовать функцию replicate() в R
Как использовать функцию match() в R