Explore Connect Documentation
Snippets
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
x_grid = seq(-3, 3, length.out = 100)
gaussian = function(x) dnorm(x)
triangular = function(x) {
  ind = abs(x) > 1
  x = 1 - abs(x)
  x[ind] = 0
  return(x)  
}
tricube = function(x) {
  ind = abs(x) > 1
  x = (1 - abs(x)^3)^3 
  x[ind] = 0
  return(x)
}
uniform = function(x) {
  ind = abs(x) > 1
  x = x * 0 + 1/2
  x[ind] = 0
  return(x)
}
df = stack(list("uniform" = uniform(x_grid),
               "triangular" = triangular(x_grid),
               "gaussian" = gaussian(x_grid),
               "tricube" = tricube(x_grid),
               "uniform" = uniform(x_grid / 2) / 2,
               "triangular" = triangular(x_grid / 2) / 2,
               "gaussian" = gaussian(x_grid / 2) / 2,
               "tricube" = tricube(x_grid / 2) / 2))
head(df)  # first six lines
names(df) = c("kernel.value", "kernel.type")
df$x = x_grid
df$h[1:400] = "$h = 1$"
df$h[401:800] = "$h = 2$"
head(df)  # first six lines
qplot(x,
      kernel.value,
      data = df,
      facets = kernel.type~h,
      geom = "line",
      xlab = "$x$",
      ylab = "$K_h(x)$")
Press desired key combination and then press ENTER.