如题, 最近遇到一个问题不知如何解决。主要是想把同一个用户所有行的信息都整合成一行, 但是问题是原始数据有很多变量(100+),这些变量大概可以分成10组,组和组之间肯定是相互独立的, 组之内的变量数不是一定并且最终数值选取的标准不一样。 我试了proc summary,分组proc summary & 基于组间相似变量的macro最后merge,都无法保证每一个变量选取的都是绝对正确。实在是头疼, 不知道大家一般做数据整合是用什么方式? 在这里放一下数据表格和想要的结果,希望大家能多多指教!
| ID | Name | DOB | Event1 | Time1-A | Time1-B | Event2 | Time2-A | Time2-B | Event3 | Time3-A | Time3-B | Time3-C |
| 123 | JaneD | ABC | CCC | 1/1/2017 | 1/3/2017 | . | . | . | . | . | . | . |
| 345 | JaneD | ABC | NNN | 3/3/2017 | 3/7/2017 | . | . | . | QQQ | 4/3/2017 | 3/5/2017 | 3/9/2017 |
| 456 | JaneD | ABC | . | . | . | NNN | 11/26/2016 | 2/9/2017 | NNN | 5/17/2017 | 4/7/2017 | 5/20/2017 |
筛选的标准:
对于Event123的优先权: CCC>QQQ>NNN
Time#ABC etc. 是基于Event123的,但是在Event123内,选择最大的值
优先选择Event123,再选择TimeABC.
所以根据标准想要的结果:
| Name | DOB | Event1 | Time1 | Event2 | Time2 | Event3 | Time3 |
| JaneD | ABC | CCC | 1/3/2017 | NNN | 2/9/2017 | QQQ | 4/3/2017 |
不一定需要解决问题的code,但是如果有什么建议,通过什么方式可以解决,都可以放上来讨论。 再次感谢!