makeK: Build the Gaussian Kernel Matrix

View source: R/functions.R

makeKR Documentation

Build the Gaussian Kernel Matrix

Description

Builds the Gaussian kernel matrix using Rcpp.

Usage

makeK(allx, useasbases = NULL, b = NULL, linkernel = FALSE, scale = TRUE)

Arguments

allx

a data matrix containing all observations where rows are units and columns are covariates.

useasbases

a binary vector with length equal to the number of observations (rows in allx) to specify which bases to use when constructing the kernel matrix (columns of K). If not specified, the default is to use all observations.

b

Scaling factor in the calculation of Gaussian kernel distance equivalent to the entire denominator 2\sigma^2 of the exponent. Default is twice the number of covariates or columns in allx.

linkernel

a logical value indicating whether to use a linear kernel, K=XX', which in practice employs K=X. Default is FALSE.

scale

a logical value indicating whether to standardize allx (demeaned with sd=1) before constructing the kernel matrix. Default is TRUE.

Value

K

The kernel matrix

Examples

#load and clean data a bit

set.seed(123)
data("lalonde")
# Select a random subset of 500 rows
lalonde_sample <- sample(1:nrow(lalonde), 500, replace = FALSE)
lalonde <- lalonde[lalonde_sample, ]

xvars <- c("age","black","educ","hisp","married","re74","re75","nodegr","u74","u75")

#note that lalonde$nsw is the treatment vector, so the observed is 1-lalonde$nsw
#running makeK with the sampled/control units as the bases given 
#the large size of the data
K <- makeK(allx = lalonde[,xvars], useasbases = 1-lalonde$nsw) 


kbal documentation built on April 3, 2025, 6:04 p.m.

Related to makeK in kbal...