楼主: 冰棱
12885 10

[学习分享] 对于PDV的理解 [推广有奖]

  • 0关注
  • 1粉丝

硕士生

21%

还不是VIP/贵宾

-

威望
0
论坛币
344 个
通用积分
0
学术水平
1 点
热心指数
1 点
信用等级
1 点
经验
1995 点
帖子
107
精华
0
在线时间
118 小时
注册时间
2006-2-27
最后登录
2018-6-15

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
上午看了几个贴子,我觉得对PDV有一些更深的理解
就是说,DATA  run实际上是一个循环。你把data看成是do把run看成是end.
一开始时,扫描程序,包括一切的变量等,分配一个空间,开辟PDV也就是一个向量,这个向量是多维的,维数就是程序里面的(需要保留的)变量数;
然后开始执行你的程序,执行完以后呢,所有的变量都会保留在PDV中,当遇到run后,那么第一次循环结束,这个PDV里包含的所有变量和值,都赋到数据集中。
开始第二次循环。
那么两个SET其实一样,我觉得可以理解为各读一条数据,遇到run后,PDV还是那个流程,但是这两个数据集的指针会下移到下条数据,也就是都到第二条。自带point+1多个SET语句在一起,指针一起移,如果没有特殊指标的话。
如果任何一个数据集读完了,data也就结束了。



二维码

扫码加我 拉你入群

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

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

关键词:PDV Point Data Run 数据集 流程图

本帖被以下文库推荐

沙发
webgu 发表于 2012-11-30 12:14:56 |只看作者 |坛友微信交流群
PDV里的变量 不仅只是保留的变量。一般是所有变量+2,另外两个是_error_,_n_,如果有by 语句,还有first.var last.var。keep,drop等语句作用在PDV后,不影响其是否保留在PDV里,where作用在PDV前。

两个set语句,就有两个数据指针。
已有 2 人评分学术水平 热心指数 信用等级 收起 理由
zhentao + 1 + 1 精炼
ziyenano + 1 + 1 + 1 精彩帖子

总评分: 学术水平 + 1  热心指数 + 2  信用等级 + 2   查看全部评分

SAS资源
1. SAS 微信:StatsThinking
2. SAS QQ群:348941365

使用道具

藤椅
bobguy 发表于 2012-12-2 00:48:18 |只看作者 |坛友微信交流群
webgu 发表于 2012-11-30 12:14
PDV里的变量 不仅只是保留的变量。一般是所有变量+2,另外两个是_error_,_n_,如果有by 语句,还有first.var ...
Also

set tmp1 tmp2;   and

set tmp1; set tmp2  are very different.

使用道具

板凳
webgu 发表于 2012-12-2 01:03:40 |只看作者 |坛友微信交流群
bobguy 发表于 2012-12-2 00:48
Also

set tmp1 tmp2;   and
是的。我是这么理解的:
set tmp1 tmp2 ;一个数据指针,一个PDV,所以数据集是一个一个读的,所以数据是纵向拼接。
set tmp1;set tmp2; 两个数指针,一个PDV, 所以观测是两个数据集一起读出来的,所以数据是横向拼接。
SAS资源
1. SAS 微信:StatsThinking
2. SAS QQ群:348941365

使用道具

报纸
wangfengxi 发表于 2012-12-2 17:08:04 |只看作者 |坛友微信交流群
input buffer-------PDV-------new dataset

使用道具

地板
潇湘夜雨spp 发表于 2014-1-15 09:44:16 |只看作者 |坛友微信交流群
挺 @@@@@@@@@@2

使用道具

7
潇湘夜雨spp 发表于 2014-1-15 09:44:53 |只看作者 |坛友微信交流群
webgu 发表于 2012-11-30 12:14
PDV里的变量 不仅只是保留的变量。一般是所有变量+2,另外两个是_error_,_n_,如果有by 语句,还有first.var ...
收益勒

使用道具

8
勤奋的小智 发表于 2014-2-12 11:48:45 |只看作者 |坛友微信交流群
学习了学习了

使用道具

9
laneboss 发表于 2014-6-15 15:45:01 |只看作者 |坛友微信交流群
学习了学习了

使用道具

10
wenboliao 发表于 2016-10-21 10:56:38 来自手机 |只看作者 |坛友微信交流群
冰棱 发表于 2012-11-30 12:07
上午看了几个贴子,我觉得对PDV有一些更深的理解
就是说,DATA  run实际上是一个循环。你把da ...
能请教一下就是我用了如下代码:
data final;
       set temp1;
       set temp2;
run;
可是为什么出来的只有temp1的数据

使用道具

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

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

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

GMT+8, 2024-4-26 21:32