【发布时间】:2020-09-01 16:47:19
【问题描述】:
我已经尝试使用分位数功能,但它没有按预期工作,我已经用完了选项,所以我向你的 R 大师寻求帮助。
假设我们找到了我提到百分位数的 P50。
一个示例数据集是
Date data
2020-01-01 49.5
2020-02-01 49.7
2020-03-14 48.5
2020-05-02 50.2
我正在尝试让脚本使用它之前的列生成百分位数输出
Date data V1 V2 V3
2020-01-01 49.5 49.6 49.6 49.5625
2020-02-01 49.7 49.7 49.525
2020-03-14 48.5 49.35
2020-05-02 50.2
这在 V1 中试图完成的是在数据列中使用 48.5 和 50.2 找到一个百分位数,以得到 V1 中的 49.6,V1 中 49.7 的结果应该是使用 50.2、48.5 和 49.7 等的百分位数结果。然后 V2 49.525 的结果是在 V1 中使用 49.35 和 49.7 的百分位数的结果,而 V2 中的结果 49.6 是 49.35、49.7、49.6 等的百分位数,在 V3 中,49.5625 的结果是通过使用 V2 找到百分位数49.525 和 49.6
并继续这样做,直到完成整个数据集。
然后在完成此操作后,在不改变输出的情况下降低结果:
Date data V1 V2 V3
2020-01-01 49.5 NA NA NA
2020-02-01 49.7 49.6 NA NA
2020-03-14 48.5 49.7 49.6 NA
2020-05-02 50.2 48.35 49.525 49.5625
【问题讨论】:
-
您说您想找到“第 45 个百分位”,但我不清楚您想要计算第 45 个百分位 的内容。例如,
quantile(1:10,0.45)的计算结果为5.05。你想计算什么来代替1:10?quantile(c(10,20),0.45)和quantile(c(10,20,30),0.45)? -
我基本上是在尝试自动化我通常在 excel 中手动执行的过程(在 excel 中需要花费大量时间,平均 1-2 个月)只是找到每行的百分位数因为它计算。所以基本上你会拿你的第一列,复制那一列,在它旁边的空列中向上移动一行并粘贴。之后,您移动到它旁边的列,然后向上移动一行并要求 Excel 逐行查找您要查找的任何百分位数。您会每隔一段时间继续这样做,直到到达数据集的开始日期。