我有个数据需要转换 结构但是自己编了一下,总是不能得到自己想要的结果,求大神指教!
具体的情况是:
1.原来的数据结构:
date | ptvb1 | ri1 | mv1 | ptvb2 | ri2 | mv2 | ptvb3 | ri3 | mv3 | 1979-12-31 | | 78.6 | 1630.38 | | 124.28 | 1668.97 | | 43.84 | 319.78 | 1980-1-31 | 0.3 | 76.63 | 1579.98 | | 125.88 | 1678.95 | 0.31 | 44.19 | 322.3 | 1980-2-29 | 0.28 | 71.06 | 1454.56 | | 122.73 | 1626.75 | 0.32 | 44.76 | 326.5 | 1980-3-31 | 0.25 | 65.51 | 1330.1 | | 115.23 | 1515.1 | 0.29 | 40.85 | 297.96 | 1980-4-30 | 0.28 | 72.23 | 1454.72 | | 126.81 | 1653.08 | 0.3 | 42.52 | 310.13 | 1980-5-30 | 0.27 | 70.5 | 1408.04 | | 121.92 | 1575.92 | 0.31 | 43.76 | 316.84 | 1980-6-30 | 0.26 | 68.72 | 1361.4 | | 132.51 | 1699.38 | 0.3 | 43.18 | 310.13 | 1980-7-31 | 0.29 | 76.45 | 1501.43 | | 138.37 | 1760.2 | 0.31 | 44.7 | 318.1 |
2.我想要的结构:
我想得到的结构是:五列数据,上面的ptvb(ri mv)后面的数字表示 公司的 代码(firm id),并且这个数字就顺序编码的,中间不会有中断 跳跃的 情况。
firm_Id date ptvb ri mv 1 1979-12-31 . 78.6 1630.38
省略其他时间的值
2 1979-12-31 . 124.28 1668.97
请大神 下载 实验数据 test.xls, 转化为 CSV 后导入 SAS, 导入的程序也粘贴上了。
谢谢大神的指导。。。跪谢!!!!!!!!
- PROC IMPORT OUT=A
- DATAFILE= "D:\test.csv"
- DBMS=CSV REPLACE;
- GETNAMES=YES;
- RUN;
复制代码
|