r - 在 R 中绘制内核的累积分布函数
问题描述
我的任务是绘制渐近内核的累积分布函数。为此,我R
为 Log-normal 内核的 cdf 准备了以下代码;但我的问题是 cdf 图正在向下移动。在我使用内核作者提供的转换之后(对数正态内核)。请在此问题中提供建议/更正。
代码:
k <- 200
y <- c(306, 455, 210, 883, 310, 361, 218, 166, 170, 654, 728, 71, 567, 144, 613, 707, 61, 88, 301, 81, 624, 371, 394, 520, 574, 118, 390, 12, 473, 26, 533, 107, 53, 122, 814, 93,731, 460, 153, 433, 145, 583, 95, 303, 519, 643, 765, 735, 189, 53, 246, 689, 65, 5,132, 687, 345, 444, 223, 175, 60, 163, 65, 208, 428, 230, 305, 11, 132, 226, 426, 705,363, 11, 176, 791, 95, 167, 284, 641, 147, 163, 655, 239, 88, 245, 30, 179, 310, 477,166, 450, 364, 107, 177, 156, 11, 429, 351, 15, 181, 283, 201, 524, 13, 212, 524, 288, 363, 442, 199, 550, 54, 558, 207, 92, 60, 293, 202, 353, 267, 371, 387, 457, 337, 201, 222, 62, 353, 163, 31, 340, 229, 182, 156, 329, 291, 179, 268, 142, 194, 320, 181, 285,348, 197, 180, 186, 145, 350, 285, 110, 286, 270, 81, 131, 269, 135, 79, 59, 105, 239, 13, 183, 116)
n <- length(y)
h <- 0.79 * IQR(y) * length(y) ^ (-1/5)
x <- seq(min(y) + 0.05, max(y), length = k)
Fhat <- rep(0, k)
for (j in 1:k) {
for (i in 1:n) {
PhiLN <- matrix(rep(0, k * n), ncol = k)
PhiLN[i, j] <- pnorm((log(y[i])-log(x[j]))/(sqrt(4*log(1+h))))
}
Fhat[j] <- 1/n * (sum(PhiLN[, j]))
}
plot(x, Fhat, type = "l")
解决方案
推荐阅读
- excel - 如何在Excel中选择更改后清除相关的下拉列表单元格
- android - 未连接适配器;使用firebase数据库跳过片段中的布局
- kubernetes - 使用来自 Kubernetes Metric 服务器的 PromQL (prometheus) 列出 Grafana 上的命名空间名称、命名空间年龄和状态
- javascript - 提取里面的文字
- 使用 java 脚本或 jquery 标记
- c - 我想为学生成绩单数据创建一个共享内存,但它在 shmat 系统调用中返回错误条件
- mongodb - 在 mongodb 查询中查找每日股票更新
- java - Android 不会为小于 5000 毫秒的值振动
- java - 可以从未加载的活动中检索值
- html - 使用 *ngFor 检查 div 的宽度
- pandas - Numpy log() 函数除以零