Using the R function density
The R function density performs nonparametric kernel density estimation. We can use this function to plot different kernel functions.
(kernels <- eval(formals(density.default)$kernel))
[1] "gaussian" "epanechnikov" "rectangular" "triangular" "biweight" "cosine"
[7] "optcosine"
Show the kernels in the R parametrization: re-scaled versions to have variance equal to 1.
plot (density(0, bw = 1), xlab = "",
main = "R's density() kernels with bw = 1")
for(i in 2:length(kernels))
lines(density(0, bw = 1, kernel = kernels[i]), col = i)
legend(1.5,.4, legend = kernels, col = seq(kernels),
lty = 1, cex = .8, y.intersp = 1)

Using locpolreg
The function kernel has been defined in the file locpolreg.R. It admits 3 types of kernels:
normal (Gaussian, default),
epan (Epanechnikov) or
rs.epan (re-scaled Epanechnikov).
source("locpolreg.R")
cannot open file 'locpolreg.R': No such file or directoryError in file(filename, "r", encoding = encoding) :
cannot open the connection
LS0tCnRpdGxlOiAiUiBOb3RlYm9vayIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQotLS0KdGl0bGU6ICJLZXJuZWwgZnVuY3Rpb25zIGluIFIiCmF1dGhvcjogIlBlZHJvIERlbGljYWRvIgpkYXRlOiAiMTMgZGUgbm92aWVtYnJlIGRlIDIwMTciCm91dHB1dDoKICBodG1sX25vdGVib29rCiAgaHRtbF9kb2N1bWVudDoKICAgIG51bWJlcl9zZWN0aW9uczogeWVzCiAgcGRmX2RvY3VtZW50OgogICAgZmlnX2NhcHRpb246IHllcwogICAgbnVtYmVyX3NlY3Rpb25zOiB5ZXMKY2xhc3NvcHRpb246IGE0cGFwZXIKLS0tCjwhLS0gQ29tbWVudCBsaW5lcyBhcmUgbGlrZSB0aGlzIG9uZSAtLT4KPCEtLSBVc2UgIlxuZXdwYWdlIiB3aGVuIHlvdSB3YW50IGEgbmV3IHBhZ2UgYnJlYWsgaW4gdGhlIHBkZiBvdXRwdXQgIC0tPgoKCmBgYHtyIHNldHVwLCBpbmNsdWRlPUZBTFNFfQprbml0cjo6b3B0c19jaHVuayRzZXQoZWNobyA9IFRSVUUpCmBgYAoKCiMgVXNpbmcgdGhlIFIgZnVuY3Rpb24gYGRlbnNpdHlgCgpUaGUgUiBmdW5jdGlvbiBgZGVuc2l0eWAgcGVyZm9ybXMgbm9ucGFyYW1ldHJpYyBrZXJuZWwgZGVuc2l0eSBlc3RpbWF0aW9uLiAKV2UgY2FuIHVzZSB0aGlzIGZ1bmN0aW9uIHRvIHBsb3QgZGlmZmVyZW50IGtlcm5lbCBmdW5jdGlvbnMuCgoKYGBge3J9CihrZXJuZWxzIDwtIGV2YWwoZm9ybWFscyhkZW5zaXR5LmRlZmF1bHQpJGtlcm5lbCkpCmBgYAoKClNob3cgdGhlIGtlcm5lbHMgaW4gdGhlIFIgcGFyYW1ldHJpemF0aW9uOiByZS1zY2FsZWQgdmVyc2lvbnMgdG8gaGF2ZSB2YXJpYW5jZSBlcXVhbCB0byAxLgoKYGBge3J9CnBsb3QgKGRlbnNpdHkoMCwgYncgPSAxKSwgeGxhYiA9ICIiLAogICAgICBtYWluID0gIlIncyBkZW5zaXR5KCkga2VybmVscyB3aXRoIGJ3ID0gMSIpCmZvcihpIGluIDI6bGVuZ3RoKGtlcm5lbHMpKQogIGxpbmVzKGRlbnNpdHkoMCwgYncgPSAxLCBrZXJuZWwgPSAga2VybmVsc1tpXSksIGNvbCA9IGkpCmxlZ2VuZCgxLjUsLjQsIGxlZ2VuZCA9IGtlcm5lbHMsIGNvbCA9IHNlcShrZXJuZWxzKSwKICAgICAgIGx0eSA9IDEsIGNleCA9IC44LCB5LmludGVyc3AgPSAxKQpgYGAKCiMgVXNpbmcgYGxvY3BvbHJlZ2AKClRoZSBmdW5jdGlvbiBga2VybmVsYCBoYXMgYmVlbiBkZWZpbmVkIGluIHRoZSBmaWxlIGBsb2Nwb2xyZWcuUmAuCkl0IGFkbWl0cyAzIHR5cGVzIG9mIGtlcm5lbHM6IAoKKiBgbm9ybWFsYCAgKEdhdXNzaWFuLCBkZWZhdWx0KSwgCiogYGVwYW5gICAgIChFcGFuZWNobmlrb3YpIG9yIAoqIGBycy5lcGFuYCAocmUtc2NhbGVkIEVwYW5lY2huaWtvdikuCgpgYGB7cn0Kc291cmNlKCJsb2Nwb2xyZWcuUiIpCgpwbG90KGtlcm5lbCx4bGltPWMoLTMsMykseWxpbT1jKDAsLjgpKQp4PC1zZXEoLTMsMyxsZW5ndGg9MjAxKQpsaW5lcyh4LGtlcm5lbCh4LHR5cGU9ImVwYW4iKSxjb2w9NCkKbGluZXMoeCxrZXJuZWwoeCx0eXBlPSJycy5lcGFuIiksY29sPTIpCmxlZ2VuZCgidG9wbGVmdCIsYygibm9ybWFsIiwiZXBhbiIsInJzLmVwYW4iKSxsd2Q9MSwgY29sPWMoMSwyLDQpKQpgYGAK