R функции ceiling() и floor() - Округление вверх и вниз
R предоставляет несколько функций округления: ceiling() округляет вверх, floor() округляет вниз, trunc() отбрасывает дробную часть в сторону нуля.
Эти функции часто используются при численной дискретизации, разбиении на интервалы и вычислениях распределения ресурсов.
Синтаксис каждой функции выглядит следующим образом:
ceiling(x) # 向上取整(不小于 x 的最小整数) floor(x) # 向下取整(不大于 x 的最大整数) trunc(x) # 向零方向截断
Описание параметра:
xВведите числовое значение или числовой вектор.
Пример
x <- c(3.14, -3.14, 5.99, -5.99, 2.0)
# ceiling: округление вверх
print("ceiling (вверх):")
print(ceiling(x))
# floor: округление вниз
print("floor (округление вниз):")
print(floor(x))
# trunc: усечение к нулю
print("trunc (усечение к нулю):")
print(trunc(x))
# ceiling: округление вверх
print("ceiling (вверх):")
print(ceiling(x))
# floor: округление вниз
print("floor (округление вниз):")
print(floor(x))
# trunc: усечение к нулю
print("trunc (усечение к нулю):")
print(trunc(x))
Выполнение приведённого выше кода даёт следующий результат:
[1] "ceiling(向上):" [1] 4 -3 6 -5 2 [1] "floor(向下):" [1] 3 -4 5 -6 2 [1] "trunc(向零截断):" [1] 3 -3 5 -5 2
ceiling() очень полезен при расчётах пагинации:
Пример
# Пагинация: отображение 20 записей на странице
total_items <- 103
items_per_page <- 20
# Вычислить общее количество необходимых страниц (округление вверх)
total_pages <- ceiling(total_items / items_per_page)
print(paste(total_items, "записей, на страницу", items_per_page,
"записей, всего", total_pages, "страниц"))
total_items <- 103
items_per_page <- 20
# Вычислить общее количество необходимых страниц (округление вверх)
total_pages <- ceiling(total_items / items_per_page)
print(paste(total_items, "записей, на страницу", items_per_page,
"записей, всего", total_pages, "страниц"))
Выполнение приведённого выше кода даёт следующий результат:
[1] "103 条数据,每页 20 条,共需 6 页"Другие расширения
Примеры на языке R