请选择 进入手机版 | 继续访问电脑版
楼主: 大笨蛋
6719 1

[求助]如何用SAS画调和曲线图??? [推广有奖]

  • 0关注
  • 0粉丝

小学生

21%

还不是VIP/贵宾

-

威望
0
论坛币
22 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
99 点
帖子
7
精华
0
在线时间
0 小时
注册时间
2007-9-24
最后登录
2008-3-20

大笨蛋 发表于 2007-11-23 14:48:00 |显示全部楼层 |坛友微信交流群

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币

我想用数组,哪位大虾指导下阿。。。

PS:我不会数组的乘法,可以给段程序加解释吗?先谢拉

二维码

扫码加我 拉你入群

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

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

关键词:调和曲线图 曲线图 如何用 SAS 曲线图

回帖推荐

临湖听涛 发表于2楼  查看完整内容

据经验,SAS做出来的图都很难看,要想做出一些高质量的图,最好不要用SAS.SAS的数组           http://www.8sta.com/Article/statsofts/sas/200412/278.html            SAS可以把一组同为数值型或同为字符型的变量合在一起,使用同一个名字称呼,用下标来区分。这与通常的程序设计语言中的数组略有区别,通常的程 ...

本帖被以下文库推荐

临湖听涛 发表于 2007-11-23 15:09:00 |显示全部楼层 |坛友微信交流群

据经验,SAS做出来的图都很难看,要想做出一些高质量的图,最好不要用SAS.

SAS的数组
           http://www.8sta.com/Article/statsofts/sas/200412/278.html
            SAS可以把一组同为数值型或同为字符型的变量合在一起,使用同一个名字称呼,用下标来区分。这与通常的程序设计语言中的数组略有区别,通常的程序设计语言中数组元素没有对应的变量名,而SAS数组每个元素都有自己的变量名。
            一、数值型数组
            定义数值型数组的格式为:
  ARRAY  数组名(维数说明) 数组元素名列表 (初始值表);
例如:
ARRAY  tests(3)  math chinese english  (0, 0, 0);
数组名是一个合法的SAS名字且不能与同一数据步中的变量重名。对一维数组,维数说明只要说明元素个数,这时下标从1开始。数组元素名列表列出这个数组的各个元素实际代表的变量名,各变量名以空格分隔。比如,上例中tests(1)代表数学成绩,tests(2)代表语文成绩,tests(3)代表英语成绩。初始值表给各数组元素赋初值,按顺序对应。
            数组说明中初始值表可以省略,这时其初始值为相应数组元素的值(如果其数组元素还没有值则初值为缺失值)。
            数组说明中的数组元素名列表可以省略,这时其元素也有对应的变量名,变量名为数组名后附加序号,比如:
ARRAY  x(3);
中数组x的各元素名为x1,x2,x3。
            也可以在说明维数时用“下标下界:下标上界”来说明一个其它的下标下界,如
ARRAY  sales(95:97)  yr95-yr97 ;
这时sales(95)为yr95,sales(96)为yr96,sales(97)为yr97。上面的变量名列表是一种特殊的语法,在用到变量名列表时如果连续写几个前面字母相同,后面是连续的序号的变量,只要写出第一个和最后一个,中间用减号连接。
            一维数组的维数说明还可以是一个星号,这时数组大小由提供的元素列表中的变量个数决定,如上面的数组tests可以等价地说明为:
ARRAY  tests(*)  math chinese english  (0, 0, 0);
可以用函数DIM(数组名)来获得数组的长度。
            可以定义二维数值型数组,只要在维数说明中指定用逗号分开的两个下标界说明,例如:
array  table(2,2)  x11 x12 x21 x22;
说明table(1,1)为x11,table(1,2)为x12,table(2,1)为x21,table(2,2)为x22。二维数组元素按行排列。
            二、字符型数组
            定义字符型数组的语法略复杂,它需要加一个$符来说明数组元素类型为字符型,并且要说明每一元素所能存储的字符串的最大长度。说明格式如下:
 ARRAY  数组名(维数说明) $ 元素长度说明 数组元素名列表 (初始值表);
例如:
ARRAY  names(3)  $ 10  child  father  mother;
字符型数组其它方面用法与数值型相同。
            三、临时数组
            上面格式说明的数组都是把若干个变量集合在一起使用同一个数组名称呼,每个数组元素是一个独立的变量。SAS也提供了与其它程序设计语言相同的数组,即数组元素只由数组名和序号决定,没有对应的变量名。这种数组叫做临时数组,定义格式为:
 ARRAY  数组名(维数说明) _TEMPORARY_ (初始值表);
可见临时数组就是在数组说明中用_TEMPORARY_代替了数组元素列表。例如:
ARRAY  x(3)  _TEMPORARY_  (0, 0, 0);
说明了一个有三个元素的临时数组x。其元素为x(1),x(2),x(3),即使变量x1,x2,x3
            存在也与此数组无关。临时数组的特点是它只用于中间计算,最终不被写入数据集。并且临时数组与其它变量不同的是,它在数据步隐含循环(后面会解释此概念)中能自动保留上一步得到的值。临时数组当然也可以有多维数组,或字符型数组。
            四、使用数组
            临时数组的使用与其它程序设计语言中的数组作用相同,可以存放性质类似的数据进行处理。SAS以变量为元素的数组可以方便变量的循环处理,比如,读入了comp1-comp10
            十个计算机销售额变量,prin1-prin6六个打印机销售额变量,希望计算其总和,可以用如下的数组说明与DO循环配合进行:
data sales;
  input  comp1-comp10  prin1-prin6;
  ARRAY  y(*) comp1-comp10  prin1-prin6;
  tot=0;
  do i=1 to DIM(y);
    tot + y(i);
  end;
  cards;
………
;
run;

此例中数组说明用了星号说明维数,求总和时用了累加语句。事实上,在数组说明的数组元素列表部分除了列出具体的变量名表外,还可以用特殊名字_NUMERIC_代表所有数值型变量的列表,用_CHARACTER_代表所有字符型变量的列表,用_ALL_代表所有变量的列表(用_ALL_
            时所有变量应该同为数值型或同为字符型,否则出错)。所以上例中的数组y的说明中还可以用_NUMERIC_或_ALL_代替变量名列表。
            实际上,SAS为变量累加提供了一个专门的函数SUM(OF …),比如上面的tot变量可以用SUM(OF comp1-comp12
            prin1-prin6)计算。这个例子主要为说明如何循环处理多个变量。

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

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

使用道具

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

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

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

GMT+8, 2024-3-29 02:59