楼主: wanwanle2
2362 4

[问答] 横向比较变量大小 [推广有奖]

  • 1关注
  • 22粉丝

博士生

87%

还不是VIP/贵宾

-

威望
0
论坛币
323 个
通用积分
294.6629
学术水平
16 点
热心指数
18 点
信用等级
14 点
经验
286983 点
帖子
307
精华
0
在线时间
370 小时
注册时间
2011-4-13
最后登录
2024-4-23

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
有下面字段规则的股票数据集,但序号中间有漏号,有些数据集序号完整,确定的是open 和 oi 序号是一一对应关系。
date open1 oi1 open2 oi2 open4 oi4 open5 oi5 open6 oi6 open9 oi9 open10 oi10 open12 oi12

想实现的结果是,每一行先比较   oi1 oi2 oi4 oi5 oi6 oi9 oi10 oi12 中排名最大的作为一个新列max1,但值为对应的open值,排名第二的作为第二个新列max2,值为对应的open值。就是 oi只是用来做大小判断,新列的值是对应的open值。
谢谢!


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:横向比较 Open 对应关系 股票数据 date

沙发
流水不朽 发表于 2018-1-5 10:58:05 |只看作者 |坛友微信交流群
1、先解答一个问题,即当 oi1 oi2 oi4 oi5 oi6 oi9 oi10 oi12 中排名最大的 有相同的值,那么对应的取那个 open 值?
2、确定后,可以使用 format 作为映射,但前提必须是  oi1 oi2 oi4 oi5 oi6 oi9 oi10 oi12 存在唯一值,才能拿到对应的open值,
3、采用 put, max(oi1 oi2 oi4 oi5 oi6 oi9 oi10 oi12 ) 处理即可

使用道具

藤椅
wanwanle2 在职认证  发表于 2018-1-5 12:32:57 |只看作者 |坛友微信交流群
流水不朽 发表于 2018-1-5 10:58
1、先解答一个问题,即当 oi1 oi2 oi4 oi5 oi6 oi9 oi10 oi12 中排名最大的 有相同的值,那么对应的取那个  ...
1,排名最大有相同的值,取oi序列N最大对应的值。因为是期货行情数据,存在换月,故oi几乎不存在一样的。
2,当列变量数量较少时,max(oi1 -oi12)比较方便。如果有几千个变量,这个模式还是不可取。

使用道具

板凳
流水不朽 发表于 2018-1-5 13:40:03 |只看作者 |坛友微信交流群
wanwanle2 发表于 2018-1-5 12:32
1,排名最大有相同的值,取oi序列N最大对应的值。因为是期货行情数据,存在换月,故oi几乎不存在一样的。 ...
第一点易处理,按照你说的第二点,几千个变量?你确定你要处理这么多的变量?有表能支持几千个变量?

使用道具

报纸
流水不朽 发表于 2018-1-5 13:47:24 |只看作者 |坛友微信交流群
wanwanle2 发表于 2018-1-5 12:32
1,排名最大有相同的值,取oi序列N最大对应的值。因为是期货行情数据,存在换月,故oi几乎不存在一样的。 ...
这样,就按照你说的几千个变量处理,
1、把变量名都提取 使用 proc contents  和 proc sql
2、把变量名 放到 array 数组里面 如:_var_
3、再使用 max( _var_1 - _var_2000)

按这个方式处理试试

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-26 17:46