全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3532 7
2011-01-27
悬赏 30 个论坛币 已解决
有三个数据集需要导入SAS并且merge成一个新的数据集,这对高手一定很简单,我自己看了一些教材,从最开始导入数据开始写了一下,不知有没有错,附件中为这些数据集内容的缩略图,非常感谢。

1.sas data file "background1.sas7bdat"主要是病人的家庭背景信息,变量有:id(20人), gender, race, membership(健康俱乐部会员),birth_year
2. sas data file "bp1.sas7bdat"主要是病人血压值,变量有:id (20人),bp(血压值), date( 检测血压的日子)
3. sas data file "drug1.sas7bdat"主要是病人用药情况,变量有:id: 1-20个人中只有3,8,2,15,13,7,4才有被建议服降压药,所以这个数据集数据小于前面两个,drug: IN/MET/TBE三种药, date_begin: 开始用药的时间
我现在想把以上三个数据集通过id合并为一个新的数据库用于以后的分析,应该怎么做?但并不是一对一的合并,因为第三个数据集数量小于第一二两个。我写的代码如下,大家帮我改进一下?感谢!
复制代码
background1.png

原图尺寸 10.93 KB

background1.png

bp1.png

原图尺寸 7.05 KB

bp1.png

drug1.png

原图尺寸 3.6 KB

drug1.png

最佳答案

baoaibaobao 查看完整内容

SAS这几个逻辑库只有WORK是临时库,所以只要把数据集放在其他库里就行,如把try1.new1放在sashelp中其实如果try1是个永久库(也就是下次再运行SAS时仍然存在)那try1.new1就表示永久数据集了。 我一般的做法是,自己建立一个永久的逻辑库,每次想要永久保存的数据集都放在这个里面。
二维码

扫码加我 拉你入群

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

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

全部回复
2011-1-27 14:20:13
yellowriver 发表于 2011-1-27 22:11
baoaibaobao谢谢啦,那你知道如何把这个a数据永久保存,并下次调用的code吗?

谢谢啦!

6# baoaibaobao
SAS这几个逻辑库只有WORK是临时库,所以只要把数据集放在其他库里就行,如把try1.new1放在sashelp中
复制代码
其实如果try1是个永久库(也就是下次再运行SAS时仍然存在)那try1.new1就表示永久数据集了。
我一般的做法是,自己建立一个永久的逻辑库,每次想要永久保存的数据集都放在这个里面。
二维码

扫码加我 拉你入群

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

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

2011-1-27 16:57:11
各位高手,帮帮我吧!
1# yellowriver
二维码

扫码加我 拉你入群

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

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

2011-1-27 17:18:40
在merge的时候对最小的数据用in就行了。
只看前就是数据 加obs=
二维码

扫码加我 拉你入群

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

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

2011-1-27 17:24:03
非常感谢您的回复,能不能在我原先的code上帮我编一下?您这样讲我还是有点不明白。谢谢啦!

你说“在merge的时候对最小的数据用in就行了”, 这是什么时候加in?
还有就是我想只print out前10个obs,该在print out data=....后哪里加?


劳驾您了!
Isscaliu 发表于 2011-1-27 17:18
在merge的时候对最小的数据用in就行了。
只看前就是数据 加obs=
二维码

扫码加我 拉你入群

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

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

2011-1-27 20:03:05
你说的是这样吗?我用noobs想删掉obs号
proc print data=TRY1.NEW1 obs=10 noobs;
run;


我运行了,还是出错,求指导!

Isscaliu 发表于 2011-1-27 17:18
在merge的时候对最小的数据用in就行了。
只看前就是数据 加obs=
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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