全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
647 4
2023-05-05
悬赏 3 个论坛币 已解决
假设数据表test中有A、B、C、D、E、F六个变量,如何实现新增64变量max1,max1V,max3,maxV分别等于6个值大小排序中的最大值和记录最大值的变量名和记录第3大值的变量名(如果两个变量值相等,则记录为两个变量值的复合)原始表
obs     A       B      C      D      E      F
1       5       6      4       10     8      9
2       8       6      6       5       9      4
应该得到新的数据表
obs     A       B      C      D      E      F      max1        max1V      max2      max2V   
1       5       6      4       10     8      9        10             D            8             E
2       8       6      6       5       9      4         9             F             6             BC

求助各位大神,这个逻辑如何实现?


最佳答案

whymath 查看完整内容

若你希望第三行返回的第3大的值为 6,则有另外一种做法——寻找最大的值,然后将它写成缺失。重复3次,第3次的最大值即为要寻找的第3大的值。
二维码

扫码加我 拉你入群

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

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

全部回复
2023-5-5 16:17:29
若你希望第三行返回的第3大的值为 6,则有另外一种做法——寻找最大的值,然后将它写成缺失。重复3次,第3次的最大值即为要寻找的第3大的值。
复制代码
二维码

扫码加我 拉你入群

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

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

2023-5-5 20:40:34
是否考虑最大值存在结的情况?如 A 和 B 的值都是最大值时,是否也将结果写作 A, B ?
若不存在第3大的值怎么办?如 A 至 F 的值都一样大,此时第3大的值是否为缺失值?
二维码

扫码加我 拉你入群

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

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

2023-5-5 21:07:39
假设刚才所提的两个问题都有肯定的回答。
复制代码
二维码

扫码加我 拉你入群

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

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

2023-5-6 17:56:06
谢谢大神虽然还没看懂,但是结果很赞
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群