ojbk的sas小本本-不断更新

  1. “_n_”代表数据行的序号,好像你想要选择行数大于20的观测值,就可以 if _n_>20;
  2. IF 语句可以独立使用,但else语句一定要紧随if
  3. set,merge合并语句后面的in 语句,只是一个标识符。
  4. file print 与put语句一起用,在数据步可以把结果输出到output窗口。
  5. fIle ‘路径’ 与put一起使用就可以把结果输出到本地文件夹。
  6. 当output没有规定数据集名字时,把当前观测《也就是一行数据》输出到data步后面的所有数据集的末尾<注意是所有数据集>意味着纵向合并,当规定数据集名字时,把pdv当前观测输出到output规定的数据集末尾。
  7. 在有output语句和run语句同时存在的data步里面,pdv只会执行output的结果到正在被创建的数据集,而执行run语句的结果是pdv会清空所有的变量为缺失。
  8. 如果一个output语句出现在程序语句中间,无论有没有被执行,后面的语句都将继续被执行,但是不会输出结果到正在被创建的输出数据集,而是会持续清空pdv中所有变量值(使用retain性质的语句除外).
  9.  sas中有implicit output和explicit output,在每一轮data循环后,sas会默认的将pdv中的数据写入数据集,这就是implicit output,还有一类是用户明确写的output语句,也就是explicit output,当明确规定后,隐式的output就不会再执行了。
  10.   output是将数据输入数据集,put是将数据输入文件或日志
  11. if 语句与 if ;else if;语句的区别在于,else的作用是排除上一句或者上几句成立的条件。
  12. sas去重:proc sort过程,nodupkey和nodup的区别                                                                                                                           nodupkey:nodupkey会把同by variable里变量有相同值的observation都删掉。这些observation包括那些与by variable里变量有相同值,但与剩下变量有不同值的observation                                                                                                                         nodup:会把那些仅与by variable里变量有相同值的observation删掉,且nodup只会把相邻的且仅具有相同by variable变量值的observation删除

猜你喜欢

转载自blog.csdn.net/J_sir2015/article/details/81296754