Как в R подсчитать количество точек данных на точечной диаграмме в ячейке пользовательских измерений?

#r

#r

Вопрос:

Давайте просто скажем, что у меня есть следующая диаграмма рассеяния:

 set.seed(665544)
n <- 100
x <- cbind(
  x=runif(10, 0, 5)   rnorm(n, sd=0.4),
  y=runif(10, 0, 5)   rnorm(n, sd=0.4)
)
plot(x)
 

введите описание изображения здесь

Я хочу разделить эту диаграмму рассеяния на квадратные ячейки указанного размера, а затем подсчитать, сколько точек попадает в каждую уникальную ячейку. Это, по сути, даст мне значение локальной плотности этой ячейки. Каков наилучший способ сделать это? Есть ли пакет R, который может помочь? Возможно, метод 2D-гистограммы, как в Matlab?


Краткие пояснения:

1.) Я бы хотел, чтобы функция / метод принимал следующие 3 аргумента: размеры общей площади, размеры ячейки (ИЛИ количество ячеек) и данные. Тогда, возможно, будет выведена матрица, в которой каждое значение соответствует количеству точек в ячейке.

2.) Вопрос: Почему вы хотите использовать этот метод для определения локальной плотности? Разве это не намного проще:

 library(dbscan)
pointdensity(x, eps = .1, type = "frequency")
 

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

Комментарии:

1. Для подсчета gplot::hist2d , для построения ggplot2::geom_bin2d графика. Или базовый способ R без дополнительных пакетов: используйте cut для каждого измерения и table результатов.