【问题标题】:Multiple columns in kernel density and plot it combined with another graph内核密度中的多列并将其与另一个图相结合
【发布时间】:2013-05-07 07:59:00
【问题描述】:

我有一个由模拟值组成的数据。数据集是一个 95*525 的矩阵,下面我打印了一小部分数据。

0.01076     0.01076     0.01076     0.01076     0.01076
0.0105259   0.010586823 0.010968957 0.010919492 0.010685372
0.010461666 0.010271274 0.01124356  0.010362122 0.010699493
0.010621132 0.009699747 0.01143447  0.010169863 0.010920117
0.01090401  0.009537089 0.011461832 0.010613986 0.010964597
0.010876345 0.008634657 0.011353565 0.0111837   0.010456199
0.010245947 0.009195114 0.012275926 0.011230311 0.010093507
0.010056854 0.009557125 0.01199076  0.010158304 0.009759821
0.008903207 0.009537452 0.011057318 0.010154896 0.00985161
0.008249492 0.010232035 0.01133204  0.009719779 0.00995871
0.006726547 0.010441961 0.010392739 0.009166036 0.01043827
0.007159706 0.010254763 0.009552638 0.009371703 0.010261791
0.007692135 0.01099915  0.009913062 0.008190215 0.009553324

为了绘制内核密度,我下载了 KernSmooth 包,它运行良好。但是,我想创建包含我所有模拟的 一个 内核密度图。也就是说,我想为 95 列 绘制一个核密度,而不是仅由一列组成的核密度。

我用来获取单列内核的代码如下

> kernel=bkde(cir[,1])
> plot(kernel, type="l")

如果我忽略 [,1] 使其包含所有列,我会收到错误消息。

此外,我在一张图中绘制了模拟值的不同路径。我接下来要做的是将内核密度图旋转 90 度,然后将其与我的模拟路径图的结尾结合起来。如果我对此的解释有些分散,我可以尝试提供一张图片作为示例。

【问题讨论】:

    标签: r plot


    【解决方案1】:

    使用

    kernel <- bkde(as.vector(cir))
    

    获取所有数据的核密度估计。

    要将图形旋转 90 度,只需在 plot 命令中交换 xy 坐标,例如

    x <- seq(-3,3,.1)
    plot(x, dnorm(x))
    plot(dnorm(x), x)
    

    希望对您有所帮助。

    【讨论】:

    • 当我使用 as.vector 命令时,出现以下错误。 linbin(x, gpoints, truncate) 中的错误:(列表)对象不能被强制输入“double”此外:警告消息:在 sqrt(var(x)) 中:产生了 NaN
    • > class(cir) [1] "data.frame" > typeof(cir) [1] "list"
    • 感谢您的回答。当我使用您建议的命令时,我得到一个内核图,但 Y 轴和 X 轴已切换。你知道为什么 R 会为我的数据解释这样的命令吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-22
    • 2018-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-17
    相关资源
    最近更新 更多