r - 在 R 中绘制分位数

标签 r graph plot subset quantile

我试图找到矩阵列的平均值、平均值±标准差和某些分位数(5%、50%、95%)。

矩阵的维度为 10*20(行表示样本数,列表示时间):

enter image description here

现在,从这个数据集中,我想找到上面的分位数。我尝试了以下方法:

enter image description here

但是这些函数只给了我一个值。我希望每次都能获得上述方法(均值、标准差、分位数)。

那么,我们如何绘制一个图形,其中 x 轴 是时间 t(t=1 到 t=20), y 轴 是基金值(value),并显示所有 5 条线(平均值、平均值 ± 标准差、5% 分位数、50% 分位数和 95% 分位数)。

非常感谢您的帮助。

非常感谢

最佳答案

apply将让您将函数应用于矩阵的每一行或每一列。您定义矩阵、要应用于的维度(行=1,列=2)、函数(例如 quantile)以及函数的其他参数。

例子:

set.seed(1)
Fund <- matrix(rnorm(20*10), ncol=20, nrow=10)
qs <- apply(Fund, 2, quantile, probs=c(0.05, 0.5, 0.95))
qs
ylim=range(qs)
plot(seq(ncol(Fund)), qs[1,], t="l", lty=2, ylim=ylim) #5%
lines(seq(ncol(Fund)), qs[2,], lty=1, lwd=2) #50%
lines(seq(ncol(Fund)), qs[3,], lty=2, col=2)  #95%
legend("topleft", legend=rev(rownames(qs)), lwd=c(1,2,1), col=c(2,1,1), lty=c(2,1,2))

enter image description here

关于r - 在 R 中绘制分位数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19754764/

相关文章:

r - 将参数传递给函数以使用 ggplot stat_function 进行绘图

删除 3 位数字后的部分字符串

graph - 在有向图中,没有传入边的节点的名称是什么

r - 如何可视化与 `ggplot2` 的成对比较?

python - 在 Matplotlib 中如何防止图像出现在屏幕上? Python

python - 绘制高维数据的决策边界

r - 如何从强制下载的链接下载文件

r - 评估测试集中缺失值的 weka 分类器 J48,R RWeka

c++ - 如何获得 boost 图中顶点的最大级别(深度)

python - 顶部为 0 度的顺时针极坐标图