如何使用百分位数函数排名的目的?

21日视图(30天)
目标 :
每一个日期 上下20%百分位数值计算,根据结果,创建两个新的变量,如。“L”为“低”和“U”“上”,它包含 股票名称 见表的标题。
_ _ _ _ _
表T (606 x 274):
_ _ _ _ _
一步一步 :
% nan替换为“空”的百分比计算(错误:输入单元阵列)
T (cellfun (@isnan, T)) = {[]}
日期格式变化百分比
T.Date = [datetime T.Date,“InputFormat”,“eee dd-MMM-yyyy”));
%将行,行
行= 1:606
%如果在上层20%百分位值是创建新变量“U”包含显示股票名称。
%如果值降低20%百分位创建新变量“L”包含显示股票名称。
结束;
到目前为止,尝试“prctile”只产生一个数值的结果,一个列。例子:
20岁的Y = prctile (T.A2AIM 2);
谢谢你的帮助和想法!
2的评论
科比的恐惧
科比的恐惧 2016年12月22日
编辑:科比的恐惧 2017年1月5日
使用prctile函数的值只会让你给定的百分比。你追求的是超过第80百分位值的列#下面为每一行20百分位。你要对每一行执行一种获得排序索引。
如果你有100列,排序后的第一个20列和最后20列是你感兴趣的。确定第一个和最后一个 n 你需要列,只是n除以5。

登录置评。

答案(1)

Kawee Numpacharoen
Kawee Numpacharoen 2017年8月4日
除了解决方案提供的评论,你也可万博 尤文图斯以使用 rmmissing 从每一列删除丢失的数据。例如:
rmmissing (T.A2AIM)