计算特定数字的列百分位数的功能是什么?你好,
例如,我有一个数据表,其中列“X”的值为“1,2,3,....13,14,15”。
我知道使用以下函数很容易计算 20% 分位数:Col Quantile(:X, 0.2) = 3.2。
是否有函数可以计算“X”列中数字的百分位数,例如 3?
如果是这样,有没有办法在多列的“表摘要”中计算它?
谢谢你!
分析Re: 计算特定数字的列百分位数的函数是什么?扩展于@jthi想法,这是一个有效的功能。请记住,返回的值部分由相邻累积概率之间的线性插值组成。
Names Default To Here( 1 );
dt =
// Open Data Table: big class.jmp
// → Data Table( "big class" )
Open( "$SAMPLE_DATA/big class.jmp" );
quantile Distribution = Function( {col, value},
{defaultlocal},
{quant, cumprob} = CDF( Column( col ) << get values );
result = Interpolate( value, quant, cumprob );
Return( result );
);
res = quantile distribution( "height", 53 );Re: 计算特定数字的列百分位数的函数是什么?或许
Col Rank(:X) / Col Number(:X)
或者你可以使用 CDF()
Re: 计算特定数字的列百分位数的函数是什么?嗨,txnelson:
感谢您的回复!
我不是统计学家,但想知道是否有办法计算不限于正态分布的数据。
我真正想要的是一个函数,它对“Col Quantile (:X, 0.2)--> 3.2”进行反向计算,意思是 f(:X, 3.2)--> 20%。 或者在数学上 N 行(其中 (:X<0.32) )/N 行 (:X)。
Re: 计算特定数字的列百分位数的函数是什么?这是正态分布函数的脚本索引中的条目,它返回给定值的概率,具有给定的 mu 和 sigma。

所以如果我正确理解你的问题,你会指定
p=normal distribution(3, col mean(:x), col stddev(:x) );