楼主: jiangyangj
3029 6

请教!sas 数据整理问题 [推广有奖]

  • 0关注
  • 0粉丝

初中生

76%

还不是VIP/贵宾

-

威望
0
论坛币
292 个
通用积分
0
学术水平
0 点
热心指数
2 点
信用等级
0 点
经验
148 点
帖子
10
精华
0
在线时间
18 小时
注册时间
2007-11-13
最后登录
2014-5-5

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币

想把以下格式
    code       date     price
1  000001  2007-10-16    15
2  000001  2007-10-17    16
3  000001  2007-10-18    14
4  000001  2007-10-19    15
5  000002  2007-10-15    19
6  000002  2007-10-16    17
7  000002  2007-10-17    19
8  000002  2007-10-18    12
9  000002  2007-10-19    19

变成以下格式
        date              000001       000002
1   2007-10-15              .              19
1   2007-10-16             15            17
1   2007-10-17             16            19
1   2007-10-18             14            12
1   2007-10-19             15            19

实际数据有很多,然后每个代码的数据条数不一样。
本来想把同一个代码的数据截出来,然后用merge根据date匹配合并,
但是merge好像只能赋给这个data步的数据集,我又不知道怎么在data步之间用循环。
所以现在很头大,请高人帮忙!!

谢谢!

二维码

扫码加我 拉你入群

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

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

关键词:数据整理 Merge data步 Price date 数据 SAS

回帖推荐

zzheng722 发表于2楼  查看完整内容

用proc transpose 简单些, 用 array in data step 也可以做。data a;input code  $     date : yymmdd10.    price;format date yymmdd10.;cards;  000001  2007-10-16    15  000001  2007-10-17    16  000001  2007-10-18    14  000001  2007-10-19    15  000002&n ...

本帖被以下文库推荐

沙发
zzheng722 发表于 2007-11-23 10:08:00 |只看作者 |坛友微信交流群

用proc transpose 简单些, 用 array in data step 也可以做。

data a;
input code  $     date : yymmdd10.    price;
format date yymmdd10.;
cards;
  000001  2007-10-16    15
  000001  2007-10-17    16
  000001  2007-10-18    14
  000001  2007-10-19    15
  000002  2007-10-15    19
  000002  2007-10-16    17
  000002  2007-10-17    19
  000002  2007-10-18    12
  000002  2007-10-19    19
;
run;
proc sort data=a;
by date code;
run;
proc transpose data=a out=b prefix=code;
id code;
by date;
var price;
run;
proc print data=b;
run;

已有 1 人评分经验 论坛币 收起 理由
bakoll + 3 + 10 精彩帖子

总评分: 经验 + 3  论坛币 + 10   查看全部评分

使用道具

藤椅
jiangyangj 发表于 2007-11-23 15:11:00 |只看作者 |坛友微信交流群

行了,非常感谢!这个论坛真不错,以后就在这里混啦~

使用道具

板凳
luijb 在职认证  发表于 2007-11-23 22:34:00 |只看作者 |坛友微信交流群

接2楼的,我用array做!!大家批评指正!

proc sort data=a;
by date;
data a(drop=n price code);
set a;
by date;
if first.date then n=1;
else n+1;
if first.date=last.date then n=2;
array code00000(2);
retain code000001;
code00000(n)=price;
if last.date;
run;

西格玛临床统计服务工作室http://www.sigma-stat.com/,luijb@163.com

使用道具

报纸
jervie1217 发表于 2008-4-23 22:27:00 |只看作者 |坛友微信交流群
太感谢了,真在找这个程序

使用道具

地板
carter123 发表于 2008-4-24 13:46:00 |只看作者 |坛友微信交流群
4楼的哥么写的不错,虽然麻烦了点,顶下,有机会多多交流,

使用道具

7
firstknife 发表于 2008-4-24 15:07:00 |只看作者 |坛友微信交流群

真是高手如云啊,以后就在这里混了,一定有前途的

使用道具

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

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

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

GMT+8, 2024-4-28 05:17