我有类似下面,我有它仅存在一个行中的数据帧:“运行”的每一行百分
HSI.Close.org HSI.Close HSI.Close.1 HSI.Close.2 HSI.Close.3
1987-03-17 2629.3 2669.6 2721.2 2750.1 2760.9
HSI.Close.4 HSI.Close.5 HSI.Close.6 HSI.Close.7 HSI.Close.8
1987-03-17 2731.1 2820.4 2798.6 2798.4 2890.9
HSI.Close.9 HSI.Close.10 HSI.Close.11 HSI.Close.12
1987-03-17 2939.1 2894.3 2877.9 2843.6
HSI.Close.13 HSI.Close.14 HSI.Close.15 HSI.Close.16
1987-03-17 2873.6 2848.2 2879 2827.4
HSI.Close.17 HSI.Close.18 HSI.Close.19 HSI.Close.20
1987-03-17 2775.8 2801.5 2792.1 2766.1
HSI.Close.21 HSI.Close.22 HSI.Close.23 HSI.Close.24
1987-03-17 2740.5 2754.7 2739.5 2694.9
HSI.Close.25 HSI.Close.26 HSI.Close.27 HSI.Close.28
1987-03-17 2713.7 2673.6 2672.4 2636.6
HSI.Close.29 HSI.Close.30 HSI.Close.31 HSI.Close.32
1987-03-17 2606.4 2585.2 2553.3 2524
HSI.Close.33 HSI.Close.34 HSI.Close.35 HSI.Close.36
1987-03-17 2484.4 2499.4 2536.9 2533.9
HSI.Close.37 HSI.Close.38 HSI.Close.39 HSI.Close.40
1987-03-17 2449.9 2460.5 2542.6 2559.1
HSI.Close.41 HSI.Close.42 HSI.Close.43 HSI.Close.44
1987-03-17 2578.2 2590.8 2614.9 2561.7
HSI.Close.45 HSI.Close.46 HSI.Close.47 HSI.Close.48
1987-03-17 2603.3 2607.1 2583.9 2552.4
HSI.Close.49 HSI.Close.50 hi52 lo52
1987-03-17 2540.1 2568.3 2939.1 2449.9
每行包含52个数据点,即HSI.Close.org
,HSI.Close
和HSI.Close.1
至HSI.Close.50
。
我想知道在特定行的52个数据点中存在哪个百分位数HSI.Close.org
。我正在考虑使用ddply
到as.numeric
的52个数据点,然后使用quantile
命令检查1-100百分位数,并通过试错法找到百分位数。但我认为这有点慢,任何更快的方法都可能?
谢谢!
太好了。备注:对于一列,将''1''改为''2''。您也可以轻松地概括这个想法,例如(x,p)匹配(x [p],sort(x))/ length(x)''和apply(df,2,pct,1)'',其中第二个参数''pct(x,p)''在''apply''内的''pct''之后传递。 – PatrickT 2017-10-20 16:13:19