R-编程。百分

时间:2015-04-30 09:16:12

标签: r matrix percentile quantile

所以我预计10年前将有1000个现金流。这些现金流包含在1000*10矩阵中。

出于分析目的,我想根据现金流量来检验不同的百分位数/分位数。

我的部分R代码

plot(timeline, TOTKS[1,], ylim=range(-15000000,100000000), type="l", ylab="Cash Flow", xlab="year")
for (i in 1:total.simulations){
lines(timeline, TOTKS[i,])}

示例:

  1. 我想为上图中最低10%的现金流量着色。

  2. 我想在新矩阵中检查这10%。

  3. 有任何建议吗?

    此致

1 个答案:

答案 0 :(得分:0)

“最低现金流量”是指“全年最低现金流量总额”还是“多年来现金流量最低单点”或......?

我猜测前者,虽然你的意思可能是我根本没想到的东西。 :)

此外,我没有您的任何数据,所以下面的内容是基于您的描述的猜测。将来,如果您可以使用dput()将一些样本或假数据(在正确的结构中)放入问题中,您将获得更快的答案。但我希望这能让你开始。

已编辑 - 将10个最低值更改为最低10%

由于注意力不集中和咖啡不足,我回答错了问题。固定,我想。

首先,找出十个最低的总现金流量。添加列:

total.cashflow <- drop(colSums(TOTKS, na.rm=TRUE))

然后找出哪个是最低的10%:

rank.cashflow.le10 <- which(
    total.cashflow <= qualtile(total.cashflow, 0.1)
    )

将它们添加到情节中:

matlines(timeline, TOTKS[,rank.cashflow.le10], col="red")

将这些作为单独的矩阵进行检查(但您可能不需要使用指标向量)

low10TOTKS <- TOTKS[,rank.cashflow.le10]

希望有所帮助。