1、利用proc format对坐标轴刻度微调
goptions reset=all;
proc format;
value vfmt 0,4,8,12,13 =[2.] other='';
run;
axis1 minor=(number=1) label=none order=( 0 to 13 by 1 );
data one;
input y x;
cards;
2 0
3 7
4 9
2 13
6 8
5 2
;
run;
proc gplot data=one;
plot y*x/haxis=axis1;
format x vfmt.;
run;quit;

2、SAS中导出标签到excel

/*Mike Zdeb 的方法*/
ods results off;
ods listing close;
ods csv file='c:\air.csv';
proc print data=sashelp.air label noobs;
run;
ods csv close;
ods results on;
ods listing;
/*dload也可以*/
proc dbload data=sashelp.air dbms=xls;
path="c:\temp";
putnames yes;
limit=0;
label;
reset all;
load;
run;

3、把SAS数据集按某个字段分组导出到excel

data  a;
input  x  y $;
cards;
1   j
1   k
2   l
2   j
3   p
4   u
3   r
;
/* macro */
%macro splitfile;
%do i=1 %to 4;
data part;
set a;
if x eq &i.;
run;
PROC EXPORT DATA= WORK.part
OUTFILE= "c:\test&i..xls"
DBMS=EXCEL REPLACE;
RUN;
%end;
%mend splitfile;
%splitfile
/* ods */
proc sort data=a out=b;
by x;run;
ods tagsets.excelXP file="c:\new.xls";
proc print data=b;
by x;
run;
ods tagsets.excelXP close;

4、在一个表中删除出现在另一表中的记录,有没有表示整条记录的语句

*模拟lz的数据要求,从class随机抽取5个数组成class1*/
data class;
set sashelp.class;
run;
proc surveyselect data=class
method=srs n=5
seed=34234 out=class1;
run;
/*删除存在class1中数据后的class数据保存至last*/
proc sql;
create table last as
select *
from class
except all
select *
from class1;
quit;
/*data步*/
data need;
merge class class1(rename=(name=name1));
if name1=' ' then output;
drop name1;
run;

5、如何计算某个值连续出现的次数,例如找出obs连续取值为1最长的值

/* hopewell的代码 */
data _null_;
input obs x1-x9;
array arr x1-x9;
do over arr;
if arr then do;
temp+arr;
max=max(max,temp);
end;
else temp=0;
end;
put obs= max=;
datalines;
1 0 0 0 0 0 1 1 0 1
2 0 1 1 1 0 0 1 1 0
;

6、数据集相减(相当于减去数据集的部分数据)

data a;
input x y;
cards;
1 2
3 4
5 6
7 8
9 0
;
data b;
input x y;
cards;
1 2
3 4
7 8
;
run;
proc sql;
create table need as
select a.*
from a as a
left join
b as b
on a.x=b.x
where missing(b.x);
quit;
/* or */
proc sql noprint;
create table new as
select x,y
from a
where x not in
(select x from b);
quit;
/* or */
data c;
merge a b(in=in1);
by x y;
if not in1;
run;
/*or*/
proc sql;
select * from a
except
select * from b;
quit;

7. 创建多个哑变量

data a;
input id  type $;
cards;
1   a
2   b
3   a
4   c
5   c
;
run;
/* bool */
data b;
set a;
dmy1=(type='a');
dmy2=(type='b');
dmy3=(type='c');
run;
/*proc glmmod*/
proc glmmod data=a OUTDESIGN=c;
class type;
model id=type/noint;
run;
/*proc sql*/
proc sql;
create table d as
select id,
unique.type as _name_,
a.type=unique.type as dummy
from a,(select distinct type as type from a) as unique
order by id ,_name_;
quit;
proc transpose data=d out=dummies(drop= _name_);
by id ;
var dummy;
run;

8.两数据,相同的id,则对应数据相加
data a;
input id $ x1 x2 x3;
cards;
1      8     20   3
3      3     0     8
4      2     4     0
;
data b;
input id $ x1 x2 x3;
datalines;
1    0     7    3
4    9    0     5
5    8    5     9
;
data c;
   set a b;
run;
proc sql;
create table d as
select distinct id,
       sum(x1) as x1,
           sum(x2) as x2,
           sum(x3) as x3
from c
group by id;
quit;
/*proc summary 替换proc sql*/
proc sort data=c;
by id;
run;
proc summary data=c;
var x1 x2 x3;
by id;
output out=d(drop=_freq_ _type_) sum=;
run;
/* merge 然后sum*/
data want(drop=x11 x22 x33);
  merge a b(rename=(x1=x11 x2=x22 x3=x33));
  by id;
  x1=sum(x1,x11);x2=sum(x2,x22);x3=sum(x3,x33);
run;
/*proc sql coalesce连接*/
proc sql;
  select coalesce(a.id,b.id) ,sum(a.x1,b.x1) as x1 ,sum(a.x2,b.x2) as x2,sum(a.x3,b.x3) as x3
  from a
  full join b on a.id=b.id
  order by 1  ;
quit;

9.数据中id相同的观察中间添加空行

/*以sashelp.stocks数据为例,stock相当于你的code*/
dm "out;file c:\result.txt;";
data new;
   set sashelp.stocks;
   by stock;
   output;
   if stock=lag(stock) then do;
      if mod(_n_,1)=0;
      array allnums {*} _numeric_ ;
      array allchar {*} _character_ ;
      drop i;
      do i=1 to dim(allnums); allnums{i}=.; end;
      do i=1 to dim(allchar); allchar{i}=' '; end;
      output;  /* Output blank observation */
   end;
run;

10.循环取数据的几行生成新的数据

%macro splitfile(num);
data _null_;
if 0 then
set YOUTDATA nobs=count;
call symput('numobs',put(count,8.));
run;
%let m=%sysevalf(&numobs/&num,ceil);
data %do j=1 %to &m;
class_&j
%end;
;
set YOURDATA;
%do i=1 %to &m;
if %eval(&num*(&i-1)) <_n_ <= %eval(&num*&i) then
output YOURDATA_&i;
%end;
run;
%mend splitfile;
%splitfile(91);
/* ceil ,call execute */
data _null_;
if 0 then set sashelp.class nobs=nobs;
length dslist $100;
size=6;
dsnum=ceil(nobs/size);
do i=1 to dsnum;
dslist=cat(strip(dslist)," ds"||strip(i));
end;
call execute("data "||trim(dslist)||";");
call execute("    set sashelp.class;");
do i=1 to dsnum;
call execute( "   if "||strip((i-1)*size)||" <_n_<= "||strip(i*size)||" then output ds"||strip(i)||";");
end;
call execute("run;");
run;
/* hash */
data _null_ ;
dcl hash hh   (             ) ;
hh.definekey  ('k'          ) ;
hh.definedata ('sex', 'name', 'age', 'height', 'weight') ;
hh.definedone () ;
do until(mod(k,5)=0 or last);
k+1;
set sashelp.class end=last ;
hh.add();
end;
gp+1;
hh.output(dataset: 'a'||strip(gp));
run;

人大经济论坛SAS版的几个问题相关推荐

  1. 人大经济论坛发现好资料

    今天在网上找了好久都没找到矩阵分析书( Lay C David 之 Linear Algebra and itsApplications 第4版),在人大经济论坛上找到了.非常感谢,在此宣传一下,有需 ...

  2. 推荐一个经济学方面的论坛:人大经济论坛

    关于"人大经济论坛" 人大经济论坛,国内最大的经济.管理,金融和统计方面的论坛.论坛涵盖了经济学科的众多领域,包括了博弈论,微观经济学,宏观经济学,制度经济学,计量经济学,制度经济 ...

  3. 人大经济论坛:统计学的一些经典教材

    一.统计学基础部分 1.<统计学> David Freedman等著,魏宗舒,施锡铨等译 中国统计出版社 据说是统计思想讲得最好的一本书,读了部分章节,受益很多.整本书几乎没有公式,但是讲 ...

  4. 梁昌勇 软件工程_梁昌勇简介_研究领域_学术成果_合肥工业大学管理学院教授-教师点评 - 人大经济论坛...

    梁昌勇 代表性学术成果 (1)RFID技术在汽车制造过程控制与质量跟踪系统中的应用 国家"863"项目 2007.01-2010.06, 主持 (2)隐性目标决策问题的智能决策模型 ...

  5. lm曲线公式推导_LM曲线-经典微观理论- 人大经济论坛-经管百科

    LM曲线的推导过程货币需求和货币供给变动对LM曲线的影响当决定LM曲线的因素发生变动时,LM曲线的位置会发生变动.首先,如果货币的需求增加,既定的收入条件下市场均衡利息率升高,从而LM曲线向左上方移动 ...

  6. php 正态分布数据描述,正态分布-统计百科- 人大经济论坛-经管百科

    正态分布(normal distribution) 什么是正态分布编辑本段回目录 正态分布是一种概率分布.正态分布是具有两个参数μ和σ2的连续型随机变量的分布,第一参数μ是遵从正态分布的随机变量的均值 ...

  7. 管理无人工厂属于计算机在,无人工厂-生产管理- 人大经济论坛-经管百科

    1.首先,"无人工厂"中的高利润中有一部分来自于本企业工人创造的剩余价值 当"无人工厂"是一个独立的生产企业,其背后没有庞大的科研队伍时,先进的技术工艺要求具有 ...

  8. php 电梯广告系统设计,电梯广告-市场营销- 人大经济论坛-经管百科

    乘电梯上下楼对于大多数人来说是一件单调而乏味的事情,通常人们在等电梯.电梯上下运行时,也是最无聊的时候,有强烈的.下意识的视觉需求,广告画面的出现自然成为视觉的中心.所以,如果电梯广告制作精美.有很强 ...

  9. 人大经济论坛——经管类必去的论坛

    http://www.pinggu.org/bbs/viewthread.php?tid=397908&page=1&fromuid=1679141

最新文章

  1. 困扰爱因斯坦的「幽灵般的超距作用」,是如何被贝尔定理证明确实存在的?...
  2. Yii2 HOW-TO(2):最佳实践(1)
  3. 36. Valid Sudoku数独判断
  4. 十周年“设计大佬”首谈行业变革:数据驱动超过 10% 的业绩增长
  5. 利用SQLChiper对Android SQLite数据库加密
  6. .net core 微服务之API网关 开源中间件 Ocelot 笔记
  7. JVM系列之:再谈java中的safepoint
  8. 【HDU - 1045】Fire Net (dfs 或二分图)
  9. LeetCode MySQL 1098. 小众书籍
  10. LeetCode 166. 分数到小数
  11. python学习笔记六 初识面向对象上(基础篇)
  12. 随想录(objc的编译)
  13. php 封装模式,PHP设计模式(三):封装
  14. springboot整合mybatis-plus多数据源分别连接mysql和oracle
  15. 如何测试视频播放器?
  16. 板绘萌新拿到数位板之后,不知道先做什么?这些板绘学习小技巧必须要知道
  17. postgresql 客户端启动配置
  18. 老生常谈01 - 每日三省吾身
  19. 微信钱包里的钱居然不见了,微信支付绑卡的用户要注意这几点
  20. 微信公众号之渲染静态模板

热门文章

  1. Oracle分区表技术 (Partitioned Tables)
  2. 1613-3-傅溥衍 总结《2016年11月12日》【连续四十三天总结】
  3. 阿里云 EMR Remote Shuffle Service 在小米的实践
  4. 昨晚看《天才知道》3进2的一个java基础题目有感:java是一种跨平台语言,它组成的2个部分是什么
  5. 判断儒略日(一年中第几天)
  6. Maya中生成打湿贴图
  7. Linux版火狐怎么收藏网页,火狐浏览器怎么同步收藏夹
  8. 博通SDK关于IPMC的操作
  9. 中国石油大学《物理化学》在线考试
  10. tcl脚本调用java dll,为了更广阔的天空