ℹ️ Skipped - page is already crawled
| Filter | Status | Condition | Details |
|---|---|---|---|
| HTTP status | PASS | download_http_code = 200 | HTTP 200 |
| Age cutoff | PASS | download_stamp > now() - 6 MONTH | 0.1 months ago |
| History drop | PASS | isNull(history_drop_reason) | No drop reason |
| Spam/ban | PASS | fh_dont_index != 1 AND ml_spam_score = 0 | ml_spam_score=0 |
| Canonical | PASS | meta_canonical IS NULL OR = '' OR = src_unparsed | Not set |
| Property | Value |
|---|---|
| URL | https://r-charts.com/es/distribucion/grafico-densidad-kernel/ |
| Last Crawled | 2026-04-05 05:53:29 (2 days ago) |
| First Indexed | 2021-04-15 09:23:02 (4 years ago) |
| HTTP Status Code | 200 |
| Meta Title | Gráfico de la estimación tipo núcleo (kernel) de la densidad en R | R CHARTS |
| Meta Description | Crea gráficos de densidad kernel en R, selecciona el kernel (núcleo) a ser usado y selecciona una ventana de suavizado en base a tus datos |
| Meta Canonical | null |
| Boilerpipe Text | Estimación kernel de la densidad
Para crear un gráfico de densidad tipo núcleo tendrás que estimar primero la densidad. Para ello puedes hacer uso de la función
density
y luego pasar el objeto a la función
plot
.
# Datos
set.seed(14012021)
datos <- rnorm(200, mean = 4)
# Estimación kernel de la densidad
d <- density(datos)
# Gráfico de la densidad tipo núcleo
plot(d, lwd = 2, main = "Gráfico densidad kernel")
Selección del kernel
El argumento
kernel
de la función
density
usa por defecto un kernel gaussiano (
kernel = "gaussian"
), pero existen otros tipos de kernel disponibles, como
"rectangular"
,
"triangular"
,
"epanechnikov"
,
"biweight"
,
"cosine"
y
"optcosine"
. La seleción dependerá de tus datos, pero el valor por defecto es el más recomendado.
Kernel rectangular
# Datos
set.seed(14012021)
datos <- rnorm(200, mean = 4)
# Estimación kernel de la densidad
d <- density(datos,
kernel = "rectangular")
# Gráfico de la densidad tipo núcleo
plot(d, lwd = 2, main = "Kernel rectangular")
Kernel triangular
# Datos
set.seed(14012021)
datos <- rnorm(200, mean = 4)
# Estimación kernel de la densidad
d <- density(datos,
kernel = "triangular")
# Gráfico de la densidad tipo núcleo
plot(d, lwd = 2, main = "Kernel triangular")
Kernel epanechnikov
# Datos
set.seed(14012021)
datos <- rnorm(200, mean = 4)
# Estimación kernel de la densidad
d <- density(datos,
kernel = "epanechnikov")
# Gráfico de la densidad tipo núcleo
plot(d, lwd = 2, main = "Kernel epanechnikov")
Kernel biweight
# Datos
set.seed(14012021)
datos <- rnorm(200, mean = 4)
# Estimación kernel de la densidad
d <- density(datos,
kernel = "biweight")
# Gráfico de la densidad tipo núcleo
plot(d, lwd = 2, main = "Kernel biweight")
Kernel cosine
# Datos
set.seed(14012021)
datos <- rnorm(200, mean = 4)
# Estimación kernel de la densidad
d <- density(datos,
kernel = "cosine")
# Gráfico de la densidad tipo núcleo
plot(d, lwd = 2, main = "Kernel cosine")
Selección de la ventana
El argumento
bw
de la función
density
permite cambiar el parámetro ventana (
bandwidth
).
Puedes pasar un valor, una cadena de una regla de selección o una función
. El valor por defecto es
"nrd0"
(o
bw.nrd0(.)
), que implementa el procedimiento conocido como
rule-of-thumb
. Otras opciones son:
Variación de la rule-of-thumb de Scott (1992)
"nrd"
o
bw.nrd(.)
# Datos
set.seed(14012021)
datos <- rnorm(200, mean = 4)
# Estimación kernel de la densidad
d <- density(datos,
bw = "nrd")
# Gráfico de la densidad tipo núcleo
plot(d, lwd = 2, main = "Bandwidth nrd")
Validación cruzada insesgada
"ucv"
o
bw.ucv(.)
# Datos
set.seed(14012021)
datos <- rnorm(200, mean = 4)
# Estimación kernel de la densidad
d <- density(datos,
bw = "ucv")
# Gráfico de la densidad tipo núcleo
plot(d, lwd = 2, main = "Bandwidth ucv")
Validación cruzada sesgada
"bcv"
o
bw.bcv(.)
# Datos
set.seed(14012021)
datos <- rnorm(200, mean = 4)
# Estimación kernel de la densidad
d <- density(datos,
bw = "bcv")
# Gráfico de la densidad tipo núcleo
plot(d, lwd = 2, main = "Bandwidth bcv")
Métodos de Sheather & Jones (1991)
"SJ"
o
bw.SJ(.)
# Datos
set.seed(14012021)
datos <- rnorm(200, mean = 4)
# Estimación kernel de la densidad
d <- density(datos,
bw = "SJ")
# Gráfico de la densidad tipo núcleo
plot(d, lwd = 2, main = "Bandwidth SJ")
El bandwidth se debe elegir con precaución
. Una ventana demasiado pequeña creará una curva sobreajustada mientras que una ventana demasiado grande creará una curva demasiado suave. |
| Markdown | Busca un gráfico
[R CHARTS](https://r-charts.com/es/)
- [Inicio](https://r-charts.com/es/)
- [R base](https://r-charts.com/es/r-base/)
- [R base](https://r-charts.com/es/distribucion/grafico-densidad-kernel/)
Títulos
***
- [Añadiendo títulos](https://r-charts.com/es/r-base/titulo/#titulo-subtitulo)
- [Función title](https://r-charts.com/es/r-base/titulo/#funcion-title)
- [Ajustar los títulos](https://r-charts.com/es/r-base/titulo/#ajuste-titulo-subtitulo)
- [Expresiones matemáticas](https://r-charts.com/es/r-base/titulo/#expresiones-matematicas)
Textos
***
- [Función text](https://r-charts.com/es/r-base/textos/#funcion-text)
- [Etiquetar puntos](https://r-charts.com/es/r-base/textos/#etiquetar-puntos)
- [Función mtext](https://r-charts.com/es/r-base/textos/#funcion-mtext)
- [Ajustar texto](https://r-charts.com/es/r-base/textos/#mtext-ajuste)
Líneas
***
- [Función abline](https://r-charts.com/es/r-base/segments/#funcion-abline)
- [Función segments](https://r-charts.com/es/r-base/segments/#funcion-segments)
- [Función arrows](https://r-charts.com/es/r-base/segments/#funcion-arrows)
- [Tipos y estilos de líneas](https://r-charts.com/es/r-base/tipos-lineas/)
Ejes
***
- [Etiquetas](https://r-charts.com/es/r-base/ejes/#etiquetas)
- [Función axis](https://r-charts.com/es/r-base/ejes/#funcion-axis)
- [Marcas](https://r-charts.com/es/r-base/ejes/#marcas-ejes)
- [Límites](https://r-charts.com/es/r-base/ejes/#limites)
- [Escala](https://r-charts.com/es/r-base/ejes/#escala)
- [Eje dual](https://r-charts.com/es/r-base/ejes/#eje-dual)
Leyenda
***
- [Posición](https://r-charts.com/es/r-base/leyenda/#posicion)
- [Orientación](https://r-charts.com/es/r-base/leyenda/#orientacion)
- [Título](https://r-charts.com/es/r-base/leyenda/#titulo)
- [Colores](https://r-charts.com/es/r-base/leyenda/#borde-color-fondo)
- [Tamaño](https://r-charts.com/es/r-base/leyenda/#tama%C3%B1o)
- [Leyenda fuera](https://r-charts.com/es/r-base/leyenda/#fuera-del-grafico)
Otros
***
- [Color de fondo](https://r-charts.com/es/r-base/color-fondo/)
- [Símbolos pch](https://r-charts.com/es/r-base/simbolos-pch/)
- [Grids](https://r-charts.com/es/r-base/grid/)
- [Tipos de cajas](https://r-charts.com/es/r-base/box-bty/)
- [Márgenes](https://r-charts.com/es/r-base/margenes/)
- [Combinar gráficos](https://r-charts.com/es/r-base/combinar-graficos/)
Guías rápidas
[](https://r-charts.com/es/r-base/simbolos-pch/#lista)
[](https://r-charts.com/es/r-base/margenes/#mar-omi)
[](https://r-charts.com/es/r-base/margenes/#oma-omi)
[](https://r-charts.com/es/r-base/tipos-lineas/#tipos-linea)
[](https://r-charts.com/es/r-base/tipos-lineas/#ancho-linea)
[Ver todos los gráficos de R base](https://r-charts.com/es/r-base/)
- [ggplot2](https://r-charts.com/es/ggplot2/)
- [colores](https://r-charts.com/es/distribucion/grafico-densidad-kernel/)
[COLORES](https://r-charts.com/es/colores/) [PALETAS DE COLOR](https://r-charts.com/es/paletas-colores/) [GENERADOR DE PALETAS](https://r-charts.com/es/generador-paletas-colores/)
- [Aprende R](https://r-coder.com/curso-r/)
- [Acerca](https://r-charts.com/es/acerca/)
- [Contacto](https://r-coder.com/contacto/)
- [English](https://r-charts.com/distribution/kernel-density-plot/)
[INICIO](https://r-charts.com/es/) [DISTRIBUCION](https://r-charts.com/es/distribucion/) [GRAFICO DENSIDAD KERNEL](https://r-charts.com/es/distribucion/grafico-densidad-kernel/)
# Gráfico de la estimación tipo núcleo (kernel) de la densidad en R
## Estimación kernel de la densidad
Para crear un gráfico de densidad tipo núcleo tendrás que estimar primero la densidad. Para ello puedes hacer uso de la función `density` y luego pasar el objeto a la función `plot`.
```
# Datos
set.seed(14012021)
datos <- rnorm(200, mean = 4)
# Estimación kernel de la densidad
d <- density(datos)
# Gráfico de la densidad tipo núcleo
plot(d, lwd = 2, main = "Gráfico densidad kernel")
```

## Selección del kernel
El argumento `kernel` de la función `density` usa por defecto un kernel gaussiano (`kernel = "gaussian"`), pero existen otros tipos de kernel disponibles, como `"rectangular"`, `"triangular"`, `"epanechnikov"`, `"biweight"`, `"cosine"` y `"optcosine"`. La seleción dependerá de tus datos, pero el valor por defecto es el más recomendado.

**Kernel rectangular**
```
# Datos
set.seed(14012021)
datos <- rnorm(200, mean = 4)
# Estimación kernel de la densidad
d <- density(datos,
kernel = "rectangular")
# Gráfico de la densidad tipo núcleo
plot(d, lwd = 2, main = "Kernel rectangular")
```

**Kernel triangular**
```
# Datos
set.seed(14012021)
datos <- rnorm(200, mean = 4)
# Estimación kernel de la densidad
d <- density(datos,
kernel = "triangular")
# Gráfico de la densidad tipo núcleo
plot(d, lwd = 2, main = "Kernel triangular")
```

**Kernel epanechnikov**
```
# Datos
set.seed(14012021)
datos <- rnorm(200, mean = 4)
# Estimación kernel de la densidad
d <- density(datos,
kernel = "epanechnikov")
# Gráfico de la densidad tipo núcleo
plot(d, lwd = 2, main = "Kernel epanechnikov")
```

**Kernel biweight**
```
# Datos
set.seed(14012021)
datos <- rnorm(200, mean = 4)
# Estimación kernel de la densidad
d <- density(datos,
kernel = "biweight")
# Gráfico de la densidad tipo núcleo
plot(d, lwd = 2, main = "Kernel biweight")
```

**Kernel cosine**
```
# Datos
set.seed(14012021)
datos <- rnorm(200, mean = 4)
# Estimación kernel de la densidad
d <- density(datos,
kernel = "cosine")
# Gráfico de la densidad tipo núcleo
plot(d, lwd = 2, main = "Kernel cosine")
```
## Selección de la ventana
El argumento `bw` de la función `density` permite cambiar el parámetro ventana (*bandwidth*). **Puedes pasar un valor, una cadena de una regla de selección o una función**. El valor por defecto es `"nrd0"` (o `bw.nrd0(.)`), que implementa el procedimiento conocido como *rule-of-thumb*. Otras opciones son:
**Variación de la rule-of-thumb de Scott (1992)**
`"nrd"` o `bw.nrd(.)`
```
# Datos
set.seed(14012021)
datos <- rnorm(200, mean = 4)
# Estimación kernel de la densidad
d <- density(datos,
bw = "nrd")
# Gráfico de la densidad tipo núcleo
plot(d, lwd = 2, main = "Bandwidth nrd")
```

**Validación cruzada insesgada**
`"ucv"` o `bw.ucv(.)`
```
# Datos
set.seed(14012021)
datos <- rnorm(200, mean = 4)
# Estimación kernel de la densidad
d <- density(datos,
bw = "ucv")
# Gráfico de la densidad tipo núcleo
plot(d, lwd = 2, main = "Bandwidth ucv")
```

**Validación cruzada sesgada**
`"bcv"` o `bw.bcv(.)`
```
# Datos
set.seed(14012021)
datos <- rnorm(200, mean = 4)
# Estimación kernel de la densidad
d <- density(datos,
bw = "bcv")
# Gráfico de la densidad tipo núcleo
plot(d, lwd = 2, main = "Bandwidth bcv")
```

**Métodos de Sheather & Jones (1991)**
`"SJ"` o `bw.SJ(.)`
```
# Datos
set.seed(14012021)
datos <- rnorm(200, mean = 4)
# Estimación kernel de la densidad
d <- density(datos,
bw = "SJ")
# Gráfico de la densidad tipo núcleo
plot(d, lwd = 2, main = "Bandwidth SJ")
```

**El bandwidth se debe elegir con precaución**. Una ventana demasiado pequeña creará una curva sobreajustada mientras que una ventana demasiado grande creará una curva demasiado suave.
[](https://python-charts.com/es/)
También te puede interesar
[ La función boxplot en R](https://r-charts.com/es/distribucion/funcion-boxplot/)
[ Box plot en ggplot2](https://r-charts.com/es/distribucion/box-plot-ggplot2/)
[ Gráfico de densidad por grupo en ggplot2](https://r-charts.com/es/distribucion/grafico-densidad-grupo-ggplot2/)
[ Gráfico de violín por grupo en R](https://r-charts.com/es/distribucion/grafico-violin-grupo/)
[ Box plot con puntos de datos en ggplot2](https://r-charts.com/es/distribucion/box-plot-puntos-datos-ggplot2/)
[ Box plot por grupo en ggplot2](https://r-charts.com/es/distribucion/box-plot-grupo-ggplot2/)
[ Histograma con curvas de densidad en R](https://r-charts.com/es/distribucion/histograma-curvas/)
[ Ridgeline en R](https://r-charts.com/es/distribucion/ridgeline/)
[ Histograma de frecuencias en R con la función hist](https://r-charts.com/es/distribucion/histograma-frecuencias/)
[ Dumbbell plot (gráfico de mancuernas) en ggplot2](https://r-charts.com/es/distribucion/dumbbell-plot-ggplot2/)
R
CODER
Políticas
[Aviso legal](https://r-charts.com/es/aviso-legal/)
Recursos
[Inicio](https://r-charts.com/es/)
[R base](https://r-charts.com/es/r-base/)
[ggplot2](https://r-charts.com/es/ggplot2/)
[Acerca](https://r-charts.com/es/acerca)
Herramientas
[Colores](https://r-charts.com/es/colores/)
[Conversor de color](https://r-charts.com/es/colores/#conversor)
[Paletas de colores](https://r-charts.com/es/paletas-colores/)
[Generador de paletas](https://r-charts.com/es/generador-paletas-colores/)
***
R CHARTS por R CODER \| © 2025 |
| Readable Markdown | null |
| Shard | 168 (laksa) |
| Root Hash | 12163586914105324168 |
| Unparsed URL | com,r-charts!/es/distribucion/grafico-densidad-kernel/ s443 |