Type: Package
Title: Weighted Piecewise Kernel Density Estimation
Version: 1.0
Date: 2025-05-22
Description: Weighted Piecewise Kernel Density Estimation for large data.
Depends: R (≥ 4.3.0), Rcpp, plotly, RANN
License: GPL-2 | GPL-3 [expanded from: GPL (≥ 2)]
Encoding: UTF-8
LazyData: true
NeedsCompilation: yes
RoxygenNote: 7.3.2
LinkingTo: Rcpp
Packaged: 2025-05-22 01:30:59 UTC; 123
Author: Xiaotong Liu [aut, cre], Kunyu Ye [aut], Siyao Wang [aut], Xudong Liu [aut], Tianwei Yu [aut, ths]
Maintainer: Xiaotong Liu <xiaotongliu@link.cuhk.edu.cn>
Repository: CRAN
Date/Publication: 2025-05-26 06:00:07 UTC

Find peaks using the estimated values

Description

Find peaks using the estimated values

Usage

findPeak(k, filter, select)

Arguments

k

Output of the 'kdeC' function, containing estimated values.

filter

A numeric value used to filter out results with estimated values less than the given 'filter' argument.

select

A numeric value specifying the number of peaks to retain, selecting the K peaks with the largest estimated values.

Value

A three-column matrix ('markMat') where: - Column 1: x-coordinates of the peaks - Column 2: y-coordinates of the peaks - Column 3: Corresponding estimated values of the peaks.

Examples

data(r)
k <- kdeC(r$dat, H = c(0.014, 0.014), gridsize = c(330, 330), cutNum = c(1, 1), w = r$z)
m <- findPeak(k, filter = 0, select = 100)

Two-dimensional fast weighted kernel density estimation

Description

Two-dimensional fast weighted kernel density estimation

Usage

kdeC(x, H, gridsize, cutNum, w)

Arguments

x

Data points in the format of an n x 2 matrix.

H

Bandwidth, a vector containing 2 numeric values.

gridsize

Number of points for each direction, a vector containing 2 integer values.

cutNum

Number of pieces to be cut for each direction, a vector containing 2 integer values.

w

Weight, a vector corresponding to parameter 'x'.

Value

A list containing three elements:

estimate

The estimated values of the kernel density.

evalpointsX

The evaluation points along the X direction.

evalpointsY

The evaluation points along the Y direction.

Examples

data(r)
k <- kdeC(r$dat, H = c(0.014, 0.014), gridsize = c(330, 330), cutNum = c(1, 1), w = r$z)

Plot of the 2D data points with peaks highlighted in green

Description

Plot of the 2D data points with peaks highlighted in green

Usage

plot_peak_2d(dat, peaks, x.range = NA, y.range = NA)

Arguments

dat

Data points used for kernel density estimation.

peaks

A matrix of detected peaks with x- and y-coordinates.

x.range

(optional) A numeric 2D vector specifying the x-axis range for filtering.

y.range

(optional) A numeric 2D vector specifying the y-axis range for filtering.

Value

A scatter plot of the data points with the detected peaks highlighted in green.

Examples

data(r)
k <- kdeC(r$dat, H = c(0.014, 0.014), gridsize = c(330, 330), cutNum = c(1, 1), w = r$z)
m <- findPeak(k, filter = 0, select = 100)
plot_peak_2d(r$dat, m)

Plot of the 3D data points with peaks highlighted in green

Description

This function creates an interactive 3D scatter plot of data points and highlights the peaks that are within a specified tolerance distance from any data point.

Usage

plot_peak_3d(dat, peaks, x.range = NA, y.range = NA, tol = 1e-05)

Arguments

dat

A numeric matrix or data frame with at least three columns representing x, y, and z coordinates of data points.

peaks

A numeric matrix or data frame with at least two columns representing the x and y coordinates of peak candidates.

x.range

A numeric vector of length 2 specifying the x-axis range to include.

y.range

A numeric vector of length 2 specifying the y-axis range to include.

tol

A numeric value specifying the tolerance threshold: only peaks within this Euclidean distance from a data point are retained.

Examples

data(r)
k <- kdeC(r$dat, H = c(0.014, 0.014), gridsize = c(330, 330), cutNum = c(1, 1), w = r$z)
m <- findPeak(k, filter = 0, select = 100)
dat <- cbind(r$dat, r$z)
plot_peak_3d(dat, m)

Simulated 2D Weighted Data Set

Description

This is a simulated dataset containing two-dimensional data points, their corresponding weights, and the true peaks' coordinates.

Usage

data(r)

Format

A list with 3 components:

dat

A data.frame of size 100000 x 2, representing data point coordinates.

m

A numeric matrix of true peaks' coordinates.

z

A numeric vector of length 100000, representing weights for each data point.

Examples

data(r)