nn <- function ( p, y, q ) #*****************************************************************************80 # ## nn performs nearest neighbor interpolation. # # Licensing: # # Copyright 2016 James P. Howard, II # # The computer code and data files on this web page are distributed under # https://opensource.org/licenses/BSD-2-Clause, the BSD-2-Clause license. # # Modified: # # 27 February 2020 # # Author: # # Original R code by James Howard; # Modifications by John Burkardt. # # Reference: # # James Howard, # Computational Methods for Numerical Analysis with R, # CRC Press, 2017, # ISBN13: 978-1-4987-2363-3. # { if ( ncol ( p ) != ncol ( q ) ) { stop ( "p and q must have the same number of columns!" ) } qprime <- t ( matrix ( rep ( q, nrow ( p ) ), ncol ( p ) ) ) d <- sqrt ( rowSums ( ( p - qprime )^2 ) ) return ( y[which.min(d)] ) }