第16章 SAS数组及其应用

合集下载

SAS循环与数组

SAS循环与数组

SAS循环与数组SAS 循环与数组SAS提供了循环语句以满⾜在编程中需要多次执⾏相同操作的情况。

有时还需要对不同的变量执⾏相同的操作,此时可定义SAS数组,并通过数组名和下标来引⽤这些变量。

1 循环SAS循环语句通常有如下⼏种形式:迭代DO语句、DO WHILE语句和DO UNTIL语句。

1.迭代DO语句迭代DO语句的基本形式如下:DO 索引变量=开始值 <TO 结束值> <BY递进值> <WHILE(表达式)> <UNTIL(表达式)>;… SAS语句…END;其中:·索引变量⽤于指定⼀个变量,若该变量不存在,则创建新变量。

DO语句和END语句之间的语句称为DO组,索引变量的值会控制DO 组的执⾏。

·开始值指定索引变量的初始值,可以是表达式或表达式序列。

DO组的执⾏从“索引变量=开始值”开始。

在循环的第⼀个迭代开始前,对开始值求值。

如果结束值和递进值不存在,那么开始值可能是⼀系列项,则DO语句的形式如下。

DO 索引变量=项1 <, …项n>;项1~项n可以是数字常量、字符常量或变量。

SAS为列表中的每个项执⾏⼀次DO组。

·结束值指定索引变量的结束值。

当开始值和结束值都存在时,DO 组执⾏直到下⾯任意⼀种情况发⽣时循环执⾏结束:索引变量的值超过结束值;DO组中存在指⽰退出循环的语句,例如LEAVE语句、GO TO 语句;如果有WHILE或UNTIL选项,则WHILE之后的表达式不满⾜或 UNTIL之后的表达式满⾜(可参考后⾯对DO UNTIL语句和DO WHILE 语句的介绍)。

·递进值指定⼀个数字,或者是产⽣数字值的表达式,来控制索引变量的增量。

递进值在循环执⾏前进⾏计算。

因此,在DO组内对递进值的修改不会影响循环迭代次数。

每次迭代后,索引变量的值为其当前值的基础上增加递进值。

如果未指定递进值,则索引变量的值增加1。

第16章 (共3个程序)SAS程序及运行结果20111205

第16章 (共3个程序)SAS程序及运行结果20111205

第16章 sas程序及运行结果(2011年12月5日)【实验16-1】单纯随机抽样实验通过采用单纯随机抽样方法,用样本统计量估计总体参数及置信区间。

【程序16-1】单纯随机抽样data sample1;input n sn sm sd y;a=0.05;se=sd*sqrt(1-sn/n)/sqrt(sn);mcil=sm-tinv(1-a/2,sn-1)*se;mciu=sm+tinv(1-a/2,sn-1)*se;p=y/sn;pse=sqrt(1-sn/n)*sqrt(p*(1-p)/(sn-1));pcil=p-probit(1-a/2)*pse;cards;5400 2700 0.8 0.54 123;proc print;run;【程序16-1运行结果】The SAS System 22:07 Sunday, December 5, 2011 1Obs n sn sm sd y a se mcil mciu p pse pcil 1 5400 2700 0.8 0.54 123 0.05 .007348469 0.78559 0.81441 0.045556 .002838112 0.039993【实验16-2】分层随机抽样实验通过采用分层随机抽样方法,用样本统计量估计总体参数及置信区间。

Data sample2;A=0.05;Snu=sum(2900+2500);Sn=270;Pp=sn/snu;Input n m sd p;Mm+n/snu*m;Se2=(1-pp)*sd2/n;Sse2+((n/snu)*se)**2;Sse=sqrt(see2);mcil=mm-tinv(1-a/2,sn-2)*sse;mciu=mm+tinv(1-a/2,sn-2)*sse;pse=sqrt(1-pp)*sqrt((1-p)*p/(n*pp-1));sp+n/snu*p;psse2+((n/snu)*pse)**2;psse=sqrt(psse2);pcil=sp-probit(1-a/2)*psse;pciu=sp+probit(1-a/2)*psse;cards;2900 0.8 0.58 0.402500 0.7 0.45 0.55;proc print;run;【程序16-2运行结果】The SAS System 22:07 Sunday, December 5, 2011 2Obs A Snu Sn Pp n m sd p Mm Se2 sd2 Sse2 se Sse see21 0.05 5400 270 0.05 2900 0.8 0.58 0.40 0.42963 . . 0 . . .2 0.05 5400 270 0.05 2500 0.7 0.45 0.55 0.75370 . . 0 . . .Obs mcil mciu pse sp psse2 psse pcil pciu1 . . 0.039791 0.21481 .000456647 0.021369 0.17293 0.256702 . . 0.043545 0.46944 .000863062 0.029378 0.41186 0.52702【实验16-3】有限总体的不同抽样方法(三种抽样方法合集)【注意】:程序有91句,很长,容易出错。

第十六章SAS在统计分析中的应用课件

第十六章SAS在统计分析中的应用课件

能注释。
Test等,对临床试验数据
进行分析和解释,为新药
研发或治疗方案选择提供
依据。
THANKS
感谢观看
数据重塑
有时需要将数据从一种格式转换为另一种格式。例如,使用`PROC TRANSPOSE`过程可以将列数据转换为行数据,或使用`PROC SQL`和`UNION` 操作符将多个表连接在一起。
05
CATALOGUE
案例分析
案例一:使用SAS进行市场调查数据分析
总结词
数据清洗和整理
描述性统计分析
探索性数据分析
高级统计分析
总结词
高级统计分析是在传统统计分析基础上, 结合具体领域和实际问题,发展出的一 系列更为复杂、专业的统计方法。
VS
详细描述
高级统计分析主要包括回归分析、方差分 析、主成分分析、因子分析、聚类分析等。 这些方法可以应用于各个领域,如经济学、 心理学、医学等。在SAS中,可以使用多 种程序包和过程进行高级统计分析,如 PROC REG、PROC ANOVA、PROC Factor等。
SAS软件开始支持互联网和分 布式计算,推出 SAS/Enterprise Miner等模块。
1960年代
SAS由美国北卡罗来纳大学的 两名研究生开发,用于统计分 析。
1980年代
SAS软件不断扩展,推出 SAS/BASE、SAS/ECON、 SAS/OR等模块。
2000年代至今
SAS软件不断更新升级,推出 更多新功能和模块,满足不同 领域的需求。
时间序列分析
利用SAS的时间序列分析过程, 如ARIMA或FORECAST,对金融 数据进行时间序列分析,预测未管理工具,如VaR 模型,对投资组合进行风险评估 和管理。

《应用多元分析》(第三版)各章附录中SAS程序的说明等(DOC)

《应用多元分析》(第三版)各章附录中SAS程序的说明等(DOC)

《应用多元分析》(第三版)各章附录中SAS程序的说明等(王学民编)附录1-1 SAS的应用例1—1.1的SAS程序:proc iml;x={1 2 3 4 5,2 4 7 8 9,3 7 10 15 20,4 8 15 30 20,5 9 20 20 40};g=inv(x);e=eigval(x);d=eigvec(x);h=det(x);t=trace(x);print g e d h t;程序说明:“proc iml"是一个矩阵运算的过程步;“x={1 2 3 4 5,2 4 7 8 9,3 7 10 15 20,4 815 30 20,5 9 20 20 40}”是输入矩阵1234524789371015204815302059202040⎛⎫⎪⎪⎪⎪⎪⎪⎝⎭,并赋值给变量x;inv(x)是x的逆矩阵函数,eigval(x)是x的特征值函数,eigvec(x)是x的特征向量函数,det(x) 是x的行列式函数,trace(x)是x的迹函数,这些函数分别赋值给我们取的变量g,e,d,h,t;“print g e d h t”是打印语句,指定将g e d h t的值输出。

附录2—1 SAS的应用例2.3。

3和例2。

3.6的SAS程序:proc iml;a={2 -1 4,0 1 —1,1 3 -2};b={5,-2,7};c={4 1 2,1 9 —3,2 —3 25};d=block(2,3,5);e=a*b;v=a*c*t(a);r=inv(d)*c*inv(d);print e v r;程序说明:“proc iml”是一个矩阵运算的过程步;“a={2 —1 4,0 1 —1,1 3 -2}”是输入矩阵214011132-⎛⎫⎪-⎪⎪-⎝⎭,并赋值给变量a;“b={5,—2,7}"是输入向量527⎛⎫⎪- ⎪⎪⎝⎭,并赋值给变量b;“c={4 1 2,1 9 -3,2 -3 25}”是输入矩阵4121932325⎛⎫⎪-⎪⎪-⎝⎭,并赋值给变量c;“d=block(2,3,5)”是输入对角阵diag(2,3,5),并赋值给变量d;“e=a*b”是将a与b相乘,并赋值给变量e;“v=a*c*t(a)”是将a,c,a’三个矩阵相乘,并赋值给变量v,其中t(a)是a的转置函数;“r=inv(d)*c*inv(d)”是将d-1,c,d-1相乘,并赋值给变量r,其中inv(d)是d的逆矩阵函数;”print e v r”是打印语句,指定将e v r的值输出.附录3-1 SAS的应用例3-1.1的SAS程序:proc corr data=sasuser.examp3a1 cov;var x1—x7;run;proc corr data=sasuser.examp3a1 nosimple cov;var x5 x6 x7;with x3 x4;partial x1 x2;run;程序说明:Proc步是以proc开头的一组或几组语句,它以另一个proc步、data步或run语句结束。

SAS软件和统计应用教程

SAS软件和统计应用教程

2.1.3 表示数据分散程度的统计量
1. 极差(Range)与半极差(Interquartile range)
极差就是数据中的最大值和最小值之间的差:
极差 = max{xi} – min{xi} 上、下四分位数之差Q3 – Q1称为四分位极差或半极
差,它描述了中间半数观测值的散布情况。
2. 方差(Variance或Var)
RUN;
显示结果如图所示。
2. MEANS过程
(1) 语法格式 MEANS过程的一般格式:
PROC MEANS DATA=<数据集名>[<统计量关键字列表>]; [VAR <分析变量列表>;] [BY <分组变量名>;] [CLASS <分组变量名>;]
RUN;
PROC MEANS语句后的选项主要用来指定所要计算 的统计量,默认情况下,MEANS过程会给出频数、均 数、标准差、最大值和最小值等,其余统计量的计算均 需要在选项中指定。
中位数 x12((n2x1()n2)
x(n1)) 2
n为奇数 n为偶数
3. 众数(Mode)
观测值中出现最多的数称为众数。众数用得不如均值 和中位数普遍。在属性变量分析中,常需考虑频数,因 此众数用得多些。
4. 百分位数(Percentile)
分位数也是描述数据分布和位置的统计量。0.5分位 数就是中位数,0.75分位数和0.25分位数又分别称为上、 下四分位数,并分别记为Q3和Q1。
单击“OK”按钮,即可得到关于变量Income的矩统计 量和基本统计测度
2.2.3 编程实现描述性统计
SAS提供有多个不同的过程来实现统计量的计算,它 们 在 功 能 范 围 上 有 许 多 的 重 复 , 下 面 介 绍 用 FREQ 、 MEANS和UNIVARIATE这三个过程来计算简单的描述 统计量。

SAS学习系列12. SAS数组

SAS学习系列12. SAS数组

12. SAS数组使用SAS数组(ARRAY语句),主要是对多个变量做相同操作时,可以通过数组存储这些变量,借用数组下标执行循环结构来实现,从而大大简化和缩短程序代码。

SAS数组是存储一组同类型(数值型或字符型)的变量,这些变量可以是已存在的,也可以是新创建的。

一、基本语法ARRAY 数组名[n] <$> 变量列表;说明:(1)n是数组的长度(即变量个数);也可以用“[*]”不指定数组长度,而是让SAS根据变量列表数目自己判断;也可以指定数组的下标范围,例如,array Year[2005:2010] YR2005 - YR2010;(2)若是字符型变量需要加“$”,也可以指定字符的长度(“$1”表示数组元素是1个字节的字符);(3)若变量列表各变量是“相同字符+连续数字”可以简写(下面两句代码功能相同):array Cat8 - Cat12;array Cat8 Cat9 Cat10 Catll Cat12;示例:array store[4] Macys Penneys Sears Target;定义数组store,含有4个数值型变量:Macys,Penneys,Sears,Target 使用数组变量Sears用“store[3]”即可。

注意:数组本身不储存在数据集中,只在数据步中定义和使用,即不会创建变量“store[1],store[2]……”;例1广播电台KBRK做了一份歌曲的听众调查,对5首歌进行打分,分值在1-5,如果没听过则填9. 数据文件(C:\MyRawData\KBPK.dat)包括了被访者姓名、年龄、以及5首歌的打分:读取数据,将打分为9的改为缺省值。

代码:data songs;infile'c:\MyRawData\KBRK.dat';input City $ 1-15 Age wj kt tr filp ttr;array song[5] wj kt tr filp ttr;do i = 1to5;if song[i] = 9THEN song[i] =.;end;run;proc print data = songs;title'KBRK Song Survey';run;运行结果:注意:循环变量i会自动作为一列新变量写入数据集,要想避免它,需要加上一句“drop i;”。

SAS基础-文档资料

SAS基础-文档资料
的分析功能只能用编程实现。 •23
§1.4 SAS程序简介
SAS SAS程序的结构
数据步—DATA 通过指定数据集名称、 定义数据集结构(变量名、变量类型等) 和读入原始数据来建立SAS数据集;
估和管理的软件,这些IT服务包括计算机系统、网络系统、
Web服务器和电话系统等。ITSV将不同来源的数据进行整S理A和S
组织,存放于性能数据仓库中,用GUI或批处理的方式产生组 织任意层面的报告。系统程序员及网络工程师能借此识别、研
究并解决有关问题,业务分析人员能借此制定资源管理的总体
策略,CIO和数据中心经理能借此定期地得到所需的IT运作的 汇总和分析报告。
·SAS/GIS SAS/GIS集地理位置系统功能与数据的显示分析于一体。
它提供层次化的地理信息,每一层可以是某些地理元素,也可
与用户定义的主题(例如:人口、产值等)ቤተ መጻሕፍቲ ባይዱ关联。用户可交
互式地缩小或放大地图,设定各层次显示与否,并利用各种交
互式工具进行数据显示与分析。
•14
·SAS/ITSV IT Service Vision(ITSV)是企业的全面IT服务的性能评
引言
SAS
SAS系统是数据处理和统计领域的国
际标准软件之一,是世界领先的数据分 析和信息系统;
SAS 系统已经被成功应用于120多个
国家和地区的31,000多个机构中,直 接用户超过3,500,000人。
•1
SAS 被评为“最佳数据仓库 /商业智能解决方案供应商”
在DM Review杂志2000年度“最佳数据仓库/ 商业智能解决方案供应商”选举当中,SAS领 先于Microsoft、 IBM 和Oracle等著名厂家, 名列榜首。这是SAS连续两年荣获该项荣誉。

金融数据库——SAS编程与数据处理2-18章复习题

金融数据库——SAS编程与数据处理2-18章复习题

SAS编程与数据处理2-18章复习题朱世武著.《SAS编程技术与金融数据处理》.清华大学出版社. 2003.7第2章SAS系统快速入门1.SAS系统的特点。

2.简述SAS的三类功能与相应的模块举例。

3.SAS技术水平的三个层次.4.缺省情况下SAS系统的五个功能窗口及各自的作用是什么?怎样定义激活这些窗口的快捷键?5.SAS程序的一般特点。

6.SAS日志窗口的信息构成。

7.会使用工具菜单的options选项。

8.在显示管理系统下,切换窗口和完成各种特定的功能等,有四种发布命令的方式:即,在命令框直接键入命令;使用下拉菜单;使用工具栏;按功能键。

试举例说明这些用法。

9.理解SAS逻辑库、临时库和永久库的概念。

会用菜单方式新建SAS永久库。

10.说明下面SAS命令的用途:keys, dlglib, libname, dir, var, options, submit, recall.11.怎样增加和删除SAS工具?12.会用菜单方式导入(Import)和导出SAS数据集(Export)。

13.会用菜单方式创建查询。

14.会用SAS的INSIGHT模块进行简单的数据分析。

15.简述SAS逻辑库的作用。

第3章数据步创建SAS数据集1.理解SAS语句的信息构成。

举例说明。

2.SAS名的种类及命名规则。

什么是SAS关键词?3.理解Data步的Proc步。

4.SAS变量的类型和属性。

举例说明SAS自动变量。

5.理解SAS程序。

SAS程序的书写规则。

给一个简单SAS 程序的例子,适当应用SAS的注释语句。

6.SAS数据集中变量列表时,X1-Xn表示什么?特殊SAS变量列表_numeric_, _character_和_all_的含义。

7.怎样提交SAS程序?程序执行过程中,LOG窗口显示的信息结构。

8.怎样查看SAS程序的输出结果。

9.SAS表达式定义及其构成元素。

10.构成SAS表达式的操作对象和操作符有哪些?11.SAS常数及其类型。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

二、字符型数组
• 定义字符型数组的语法略复杂,它需要加一个$符来 说明数组元素类型为字符型,并且要说明每一元素所 能存储的字符串的最大长度。说明格式如下: ARRAY 数组名(维数说明) $ 元素长度说明 数组元素 名列表 (初始值表); 例如: ARRAY names(3) $ 10 child father mother; 字符型数组其它方面用法与数值型相同。
• 3)两维数组。
• data a; array x(6:7,0:2) x10-x15; do i=6 to 7; do j=lbound2(x) to hbound2(x); if x(i,j)=0 then x(i,j)=.; end; end;input x10-x15; cards; 098765 123456 ; run;
四、使用数组
• 临时数组的使用与其它程序设计语言中的数组作用相同,可以存放性质类似的数据进行 处理。SAS以变量为元素的数组可以方便变量的循环处理,比如,读入了comp1comp10 十个计算机销售额变量,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;
• 一)显示下标数组语句。
• 1)直接读(只能读一行)/input语句(可读多行)。 data a; array t t1-t3; input t1-t3; cards; 123 ; run;
• 2)data a; set resdat.class; array t t1-t3 (1,2,3); run;
• 实际上,SAS为变量累加提供了一个专门的函数 SUM(OF …),比如上面的tot变量可以用SUM(OF comp1-comp12)计算。这个例子主要为说明如何 循环处理多个变量。
• 变量和变量属性控制语句不是执行语句,可以出现在 数据步得任何地方,且结果相同。 • 显示下表数组语句由数组名,元素个数说明,及元素 列表等构成。 • 数组元素必须全是数值变量,或全是字符变量。 • 数组元素的两种表示方法:列出变量名,建立临时数 组元素列表。
• 3)建立临时数组元素。
• 使用临时数组元素列表可以少占用内存,加快执行时 间。用于定义一个数组的目的只是进行计算时。 没开辟新变量,不能出现在输出的数据集上。 • 引用时必须用数组名和下标,不能用变量。
• 临时数组元素的值被自动保存而不是像DATA步中的变 量,在下一次重复开始时被置为缺失值。
• 4)array t(3) t1-t3 (1 2 3) #完整定义 • aray test(3) (1 2 3) #产生新变量test1,test2,test3。 • array t(5) (1 2 3) #正确,t4,t5为缺失值 • array t(3) t1 t2 #错误 • array t(*) (1 2 3) #错误 array ab(*) green red denato; #里面有三个元素
第十六章 SAS数组及其应用
• SAS可以把一组同为数值型或同为字符型的变量合在一 起,使用同一个名字称呼,用下标来区分。这与通常 的程序设计语言中的数组略有区别,通常的程序设计 语言中数组元素没有对应的变量名,而SAS数组每个元 素都有自己的变量名。
一、数值型数组
• 定义数值型数组的格式为: ARRAY 数组名(维数说明) 数组元素名列表 (初始 值表); 例如: ARRAY tests(3) math chinese english (0, 0, 0);
• 此例中数组说明用了星号说明维数,求总和时用了累 加语句。事实上,在数组说明的数组元素列表部分除 了列出具体的变量名表外,还可以用特殊名字 _NUMERIC_代表所有数值型变量的列表,用 _CHARACTER_代表所有字符型变量的列表,用_ALL_代 表所有变量的列表(用_ALL_ 时所有变量应该同为数值 型或同为字符型,否则出错)。所以上例中的数组y的 说明中还可以用_NUMERIC_或_ALL_代替变量名列表。
• 可见临时数组就是在数组说明中用_TEMPORARY_代替 了数组元素列表。例如: ARRAY x(3) _TEMPORARY_ (0, 0, 0); 说明了一个有三个元素的临时数组x。其元素为x(1), x(2),x(3),即使变量x1,x2,x3 存在也与此数组无关。临时数组的特点是它只用 于中间计算,最终不被写入数据集。并且临时数组与 其它变量不同的是,它在数据步隐含循环(后面会解 释此概念)中能自动保留上一步得到的值。临时数组 当然也可以有多维数组,或字符型数组。
• 数组名是一个合法的SAS名字且不能与同一数据步中的 变量重名。对一维数组,维数说明只要说明元素个数, 这时下标从1开始。数组元素名列表列出这个数组的各 个元素实际代表的变量名,各变量名以空格分隔。比 如,上例中tests(1)代表数学成绩,tests(2)代表语文成 绩,tests(3)代表英语成绩。初始值表给各数组元素赋 初值,按顺序对应。
三、临时数组
• 上面格式说明的数组都是把若干个变量集合在一起使 用同一个数组名称呼,每个数组元素是一个独立的变 量。SAS也提供了与其它程序设计语言相同的数组,即 数组元素只由数组名和序号决定,没有对应的变量名。 这种数组叫做临时数组,定义格式为: ARRAY 数组名(维数说明) _TEMPORARY_ (初始值 表);
• 数组说明中初始值表可以省略,这时其初始值为相应 数组元素的值(如果其数组元素还没有值则初值为缺 失值)。 数组说明中的数组元素名列表可以省略,这时其 元素也有对应的变量名,变量名为数组名后附加序号, 比如: ARRAY x(3); 中数组x的各元素名为x1,x2,x3。
• 也可以在说明维数时用“下标下界:下标上界”来说明一 个其它的下标下界,如 ARRAY sales(95:97) yr95-yr97 ; 这时sales(95)为yr95,sales(96)为yr96,sales(97)为yr97。 上面的变量名列表是一种特殊的语法,在用到变量名 列表时如果连续写几个前面字母相同,后面是连续的 序号的变量,只要写出第一个和最后一个,中间用减 号连接。
• array ab(*) _numeric_; #里面有几个数值变量就有几个 元素 • 应用举例: • data x; array d(*) _numeric_ d1-d3 (1 2 3); run; • a量就有几 个元素
• array t(3:4,3:7) test1-test10; #正确
• · 改为用隐含下标变量。 • data a; input x1-x5 y; array t x1-x5; _i_=1; do while(t<y); put t=y=; _i_=_i_+1; end; cards; 123453 024686 ;
三)隐含下表数组元素。
• 引用隐含下标数组的元素时,要先设置下标变量,然 后在SAS语句中使用数组名字。
• 二)显示下标数组元素。 • 1)一个循DO组里处理多个数组。 • data a; array d(*) t1-t4 (1 2 3 4); do i=1 to dim(d); d(i)=d(i)+10; end; 2)data a; array d(*) t1-t4 (1 2 3 4); do _i_=lbound(d) to hbound(d); if d(_i_)=4 then d(_i_)=.; end; run;
• 3)DO WHILE 和DO UNTIL语句。 • data a; input x1-x5 y; array t(5) x1-x5; i=1; do while(t(i)<y); put t(i)=y=; i=i+1; end; cards; 123453 024686 ; run;
• 一行一行地读,执行完第一行后就从循环里跳出来,执行下一 行时i又赋值1。

一维数组的维数说明还可以是一个星号,这时数组 大小由提供的元素列表中的变量个数决定,如上面的 数组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。二维数组元素按行排列。
相关文档
最新文档