平滑核密度图

时间:2019-11-15 17:26:54

标签: r ggplot2 graph kernel-density

我正在尝试创建后验概率图。我正在使用的代码是:

// Webpacker environment.js config

const { environment } = require('@rails/webpacker');
const path = require('path');
const webpack = require('webpack');

environment.loaders.append('expose', {
  test: require.resolve('jquery'),
  use: [
    {
      loader: 'expose-loader',
      options: 'jQuery'
    },
    {
      loader: 'expose-loader',
      options: '$'
    }
  ]
});

environment.plugins.append(
  'Provide',
  new webpack.ProvidePlugin({
    $: 'jquery',
    jQuery: 'jquery'
  })
);


module.exports = environment;

其中N2016是100.000个样本的后验概率。

我遇到的问题是,当我使用“密度”图时,由于我的观察值为160,所以我得到的概率不可靠,因此在160之前我应该​​获得零概率。 / p>

adjust = 5的图形

img1

我一直在使用adjust参数,但这似乎不是答案,因为曲线根本不平滑。

adjust = 0.25的图形

img2

我还将使用直方图附加图表,以表明问题不在于数据:

直方图

img3

有人知道如何获得观察之前没有开始的平滑曲线吗?在这种情况下160?

谢谢!

1 个答案:

答案 0 :(得分:3)

使用trim参数:

r <- rnorm(100)
ggplot() + geom_density(aes(r), trim = FALSE) + xlim(-4, 4),
ggplot() + geom_density(aes(r), trim = TRUE) + xlim(-4, 4)

enter image description here