第四章 建立SAS报表_sas底表-程序员宅基地

技术标签: 统计分析  

 

第四章 建立SAS报表

 

一.使用PRINT过程步

1.PRINT过程步的基本使用

前面我们已经提到过利用PRINT过程步检查我们建立的SAS数据集的内容,实际上就是用PRINT过程步显示SAS数据集的内容。PRINT过程步由一个PROC PRINT语句开始,其一般形式为:

    PROC PRINT options;

选项包括DATA=选项,它指定你使用的数据集,如果不使用该选项的话,系统使用最近用到的数据集。另外,在用PRINT过程步显示SAS数据集的内容之前,或者说,在一个程序的开头,往往需要用LIBNAME语句指定SAS数据库。例如:

    libname clinic'c:\clinic';

    proc printdata=clinic.admit;

    run;

提交这段程序以后,SAS系统就会在OUTPUT窗口中显示该数据集的内容,我们把它称为报表(report)。例如:

 

ID

NAME

SEX

AGE

HEIGHT

WEIGHT

FEE

2458

Murray, W

M

27

72

168

85.20

2462

Almers, C

F

34

66

152

124.80

2501

Bonaventure, T

F

31

61

123

149.75

 

2.控制产生的报表

在缺省情况下,PRINT过程步产生的报表会显示:

A.数据集中所有的观测和变量

B.在最左边一列显示观测号

C.变量根据它们在数据集中的顺序排列

为了得到你想要的报表,你可以对产生报表的过程进行控制,你可以:

A.利用系统选项控制报表的样式

B.选择显示变量和观测

C.对数据进行排序

D.加题注和尾注

E.显示描述性的变量标记

F.对数据规定格式

下面我们一一介绍如何进行控制。

3.设定系统选项

在你用PRINT过程步产生报表之前,你可以先设定一些系统选项控制报表的样式,包括:

 

选项

功能

LINESIZE=

设定每行的长度

PAGESIZE=

设定每页的行数

NUMBER|NONUMBER

设定是否显示页码

PAGENO=

设定开始页码

DATE|NODATE

设定是否显示日期和时间

 

每一个系统选项都有缺省设置,例如,在缺省情况下,会自动显示页码。

你可以用以下任一方法改变这些系统选项:

1)用OPTIONS语句

一般形式为:    OPTIONS options;

例如:  options pagesize=20linesize=76;

        options numberpageno=1;

OPTIONS语句可以出现在SAS程序的任意地方,从语句被执行的地方开始,设定的系统选项起作用,一直到你改变它的设置。

例如:  options nonumber nodate;

        proc printdata=sales.qtr3;

        proc printdata=sales.qtr4;

        options date;

        run;

则在显示SALES.QTR3的时候页码和日期时间均不显示,而在显示SALES.QTR4的时候页码不显示但日期时间显示。注意,SAS系统要遇到DATA、PROC或RUN等关键词的时候才执行会执行前面一个程序步,因此,OPTIONS语句要遇到其后的这些关键词时才会被执行,但它会在其所属的程序步中优先执行。

2)用OPTIONS窗口

另一个改变系统选项的简单方法是进入OPTIONS窗口:

    选择:  Globals à Options àGlobal Options

找到想要设定的选项,作相应的改变即可。

4.NOOBS选项

你可以在PROC PRINT语句中使用NOOBS选项去掉报表中的观测号列。例如:

    proc printdata=sales.qtr4 noobs;

    run;

事实上,PROC PRINT语句中可以使用的选项很多,详细情况可利用HELP窗口查找:

    Help à SAS System àREPORT WRITING àPRINT

5.选择变量

如果你的数据集中有很多变量,而你只希望显示其中的一部分,你可以在PRINT过程步中用VAR语句指定要显示的变量。其一般形式为:

    VAR variables;

例如:  var age height weight fee;

输出报表中的变量按照在VAR语句中出现的顺序排列。

注意,变量之间用空格分开。

6.选择观测

如果你只需要显示数据集中的某一部分观测,而不是所有的观测,你可以在PRINT过程步中用WHERE语句设定要显示的观测应满足的条件。

1)WHERE语句的一般形式为:

    WHEREwhere-expression;

条件表达式的写法同第三章中所述相类似。例如:

    whereweight<175;

    where name='Almers,C';

注意,对字符型变量,条件表达式中的数据值用单引号括起,并且区分大小写。

2)复合条件

你也可以在多个条件的基础上选择你要显示的观测,这时候你可以在条件表达式中用AND(&)和OR(|)算符,例如:

    where age<=55and weight >160;          whereage<=55 & weight >160;

    where fee=124.80 orfee=178.20;         where fee=124.80 |fee=178.20;

3)IN算符

如果对同一个变量用多个值进行条件检验的话,可在条件表达式中用IN算符,例如:

    where fee in(124.80,178.20);

4)多重复合条件

当你在条件表达式中用到一个以上AND(&)和OR(|)算符时,应该用括号来决定那些条件先复合,再与其它条件复合,例如:

    where (age<=55and weight >160) or height >70;

    where age<=55and (weight >160 or height >70);

显然是两个不同的条件。如果不加括号,则照前两个先复合的方法进行。

7.对数字型变量求和

你可以利用SUM语句对数字型变量求和,在输出的报表中,该变量所在列的最下方显示这一列数值的和。SUM语句的一般形式为:

    SUM variables;

例如:  proc print data=vcrsales;

            varsalesrep region;

            sumunitcost unit sold;

        run;

在SUM语句中出现的变量名不需要在VAR语句中指定,也会在输出报表中显示。

8.对数据进行排序

如果你希望在报表中的观测是按照指定的顺序排列的话,就应当在利用PRINT过程步创建报表之前,用SORT过程步对数据进行排序。一个简单的SORT过程步的一般形式为:

    PROC SORTDATA=SAS-data-set OUT=SAS-data-set;

        BY variables;

    RUN;

过程步以PROC SORT语句开始,其中,DATA=选项指明要读的数据集,BY语句是SORT过程步所必需的,它指明要按照哪个(那些)变量的值来进行排序。

OUT=选项指定一个输出数据集,在这个数据集中,所有的观测按指定的顺序排列。注意,如果不使用OUT=选项的话,在DATA=选项中指明的数据集就会被永久性地改变,而如果你只是希望它临时改变的话,就必须用OUT=选项指定一个临时的输出数据集。

9.题注(Titles)和尾注(Footnotes)

在SAS报表中,可以出现题注和尾注,题注出现在每一页的顶部,尾注出现在每一页的底部,如果没有定义,缺省的题注是‘The SAS System’,尾注不定义就不出现。

1)显示题注(Titles)

你可以改变输出报表中的题注,方法有:

A.用TITLES窗口

选择Globals à OptionsàTitles

进入TITLES窗口,在相应位置输入你希望作为题注的文字,

选择Edit à End

退出即可。

SAS系统允许有10个题注。

B.用TITLE语句

在产生报表的过程步中或之前用TITLE语句设定题注,其一般形式为:

    TITLEn 'titletext';

例如: title1 'July Report';

        title3 'group1';

用TITLE语句同样可以设定10个题注。

2)显示尾注(Footnotes)

你还可以改变输出报表中的尾注,方法与改变题注的方法相似:

A.用FOOTNOTES窗口

选择Globals à OptionsàFootnotes

进入FOOTNOTES窗口,在相应位置输入你希望作为尾注的文字,

选择Edit à End

退出即可。

SAS系统允许有10个尾注。

B.用FOOTNOOT语句

在产生报表的过程步中或之前用FOOTNOTE语句设定尾注,其一般形式为:

    FOOTNOTEn 'footnotetext';

例如: footnote1 'PrepareedJuly 15';

        footnote3 'byfinancial department';

用FOOTNOTE语句同样可以设定10个尾注。

3)改变题注和尾注的设定

题注和尾注的设定都是全局性的,设定以后,它们的作用一直延续到你重新设定或退出SAS系统。在设定了题注和尾注之后,你如果希望改变或取消这些设定的话,可用以下方法:

A.用TITLES 或FOOTNOTES窗口

进入TITLES 或FOOTNOTES窗口,改变或取消其中的设置。

B.用TITLE 或FOOTNOTE语句

用新的TITLE 或FOOTNOTE语句重新设定题注或尾注,新的设定会取代老的设定。

注意,新的TITLE 或FOOTNOTE语句被执行是,除了取代原先同样号码的题注或尾注之外,还会取消更大号码的题注或尾注。

用下列不加号码或不加文字的语句可取消所有的题注或尾注:

    title1;

    footnote;

10.     给变量设定描述性标记

如果某些变量名不足以表达该变量数据的性质,你希望在报表中以更准确的词句来作为这些列的标记的话,可以在过程步中使用LABEL语句,其一般形式为:

    LABEL   variable1='label'

            Variable2='label';

标记可长达40个字符,并且,必须用引号括起。

你可以用一个LABEL语句,也可以用多个LABEL语句来设定描述性标记。

另外,为了显示标记,在PROC PRINT语句中必须使用LABEL选项。例如:

    proc printdata=clinic.therapy label;

        var month wjr;

        labelwjr='Walk/Jog/Run';

    run;

11.     设定输出数据的格式

你可以利用FORMAT语句设定变量的输出格式,以使报表看上去更完美。FORMAT语句的一般形式为:

    FORMAT variableformat-name;

例如:  format net comma5.0 grosscomma8.2;

        format netcommiss dollar9.2;

在某一个过程步中的FORMAT语句设定的输出数据的格式,仅在同一个过程步产生的报表中起作用。

SAS系统提供许多输出格式,可用于在FORMAT语句中使用。你可以在SAS的HELP穿口中找到所有 的SAS输出格式,方法为:

    Help à SAS System à SASLANGUAGE à SASFormats and Infortmats

下面是部分常用格式:

 

格式

显示结果

COMMAw.d

Comma8.2

1,123.20

DOLLARw.d

Dollar6.2

$56.00

MMDDYYw.

Mmddyy6.

150599

w.d

8.2

12203.90

 

12.     自定义输出格式

在SAS系统中,用户还可以用FORMAT过程自己定义输出格式,其一般形式为:

    PROC FORMAT;

        VALUEformat-name   range1='label'

                            range2='label';

例如:  proc format;

            value$destfmt 'LON'='London'

                            'PAR'='Paris'

                            'HON'='Hongkong';

        run;

然后在PRINT过程中的FORMAT语句中就可以自定义的输出格式了,例如:

(接上例)  proc print data=summer;

                vardate dest;

                formatdata date7. Dest $destfmt;

            run;

 

二.使用TABULATE过程步

使用PRINT过程步你可以以列表的形式显示数据集的内容,但有时候你可能更希望以表格的形式对数据集中的内容进行分析,这时候,就可以利用TABULATE过程步来帮助你进行这项工作。

1.用TABULATE过程步创建表格

事实上,TABULATE过程步并不是简单地显示数据集的内容,而是对数据集中的内容进行归纳统计以后,根据用户的要求,制作各式表格供用户分析使用。

TABULATE过程步能帮助你方便地设计你的报表,你可以自由决定表格的形式和结构,作出的表格可以是一维的、二维的或三维的。同时,TABULATE过程步能对数据集中的数据进行归纳统计,在表格中显示一些描述性统计量,例如:

A.SUM(和)

B.MEAN(均值)

C.MINIMUM(最小值)

D.MAXIMUM(最大值)

E.STANDARDDEVIATION(标准偏差)

F.VARIANCE(方差)

等等。

你也可以在TABULATE过程步中进行选择观测、设定描述性标记、设定题注和尾注、给数据规定输出格式等操作。

2.设计表格

使用TABULATE过程步的关键是计划,与PRINT过程步不同,TABULATE过程步不会产生缺省的报表,你必须告诉它如何创建表格,因此,在使用TABULATE过程步之前,最好先画一个草表,以明确你自己到底想要得到一个什么样的表格。具体说,你需要决定:

A.使用什么数据

B.用什么变量对数据分类

C.对什么变量进行分析

D.表格的形式

3.基本的TABULATE过程步

一个简单的TABULATE过程步包含以下四条基本语句:

 

语句

功能

PROC TABULATE

启动过程步,设定数据集

CLASS

设定分类变量

VAR

设定分析变量

TABLE

描述产生的表格

 

其中,PROC TABULATE语句作为TABULATE过程步的开头,是必须要有的,其一般形式为:

    PROC TABULATEoptions;

例如:  proc tabulatedata=clinic.admit;

其中,DATA=选项决定使用什么数据集。

4.设定变量

接下来,我们要设定使用数据集中那些变量来制作表格。在使用TABULATE过程步时,我们要区分两种变量:

A.分类变量(Class Variables):用于对数据进行分组或归类。

B.分析变量(Analysis Variable):用于进行数值分析

1)定义分类变量

分类变量在CLASS语句中列出,其一般形式为:

    CLASS variables;

变量名之间用空格分开,可以不管顺序。

例如: class sex;

分类变量的特点:

A.可以是字符型或数字型的,字符型变量字能作为分类变量

B.用于对数据进行分组或归类

C.一般只取较少的分列值(表格中会出现该变量取到的每一个值)

2)定义分析变量

分类变量在VAR语句中列出,其一般形式为:

    VAR variables;

变量名之间用空格分开,可以不管顺序。

例如:  var age height weight;

分类变量的特点:

A. 必须是数字型变量

B. 用于对统计分析

C. 通常可以取连续值(表格中往往只出现对该变量进行的一些统计分析结果)

3)表格中出现的变量

在表格中出现的变量会在TABLE语句中列出(TABLE语句用法见后),而在TABLE语句中用到的变量必须事先在CLASS语句或VAR语句中列出,并且只能在其中一个语句中列出,也就是说,一个变量,不可以既是分类变量,又是分析变量。

TABLE语句在TABULATE过程步中是必须的,而CLASS语句和VAR语句则至少要有一个。

5.在变量设定中可能发生的错误

1)有错误信息

如果在程序执行过程中,LOG窗口中出现错误信息,则根据出错信息做相应的修改。可能的出错信息有:

 

出错信息

 

含义

VARIABLE appears in bth CLASS and VAR lists

 

变量被定义为既是分类变量,又是分析变量。

Type of name (VARIABLE) unknown at line n

 

变量未在CLASS语句或VAR语句中定义

Variable VARIABLE in list does not match type prescribed for this list

 

字符型变量被定义为分析变量。

 

2)结果与期望不同

如果你得到的表格有很多行或列,而这并非你所预期的。那么检查一下CLASS语句,看你是不是把一个会取很多值的变量定义为分类变量了,如果这个变量是数字型变量的话,也许你应该将它定义为分析变量。

6.描述表格

定义完变量之后,就该用TABLE语句来描述你要制作的表格了。TABLE语句要设定:

A.表格的维数

B.表格中出现的变量

C.要计算的统计量

1)TABLE语句的一般形式为:

    TABLEpage-expression, row-expression, column-expression /options;

page-expression, row-expression, column-expression分别设定表格中页、行和列的元素(变量和统计量)。所有这些表达式(expressions)被统称为维表达式(dimension expressions)

TABLE语句可以取以下三种基本形式:

 

TABLE语句

得到的表格

TABLE column-expression /options;

一维表格(只有列)

TABLE row-expression, column-expression /options;

二维表格(有行和列)

TABLE page-expression, row-expression, column-expression /options;

三维表格(有页、行和列)

 

可见,column-expression是必需的,也就是说,表格中列是一定有的。

维表达式包含元素和一些算符(operators),例如:

    tablemonth,mean*(height weight) mean*all;

算符是指表达式中的星号、括号和空格等符号,逗号也可视为一种算符,它用于分隔表格的维,TABLE语句中有两个逗号表示制作三维表格,TABLE语句中有一个逗号表示制作二维表格,TABLE语句中没有逗号表示制作一维表格。

2)例子

下面我们先从一些简单的例子来看,不同的TABLE语句能让我们得到什么样的表格。

A.用   table type; 得到:

 

TYPE

I

II

N

N

3.00

17.00

 

注:

i. TYPE为数据集中一字符型变量名,它的值分别可取为‘I’和‘II’。它已被定义为分类变量。

ii.N是一个统计量,它表示某个变量出现某个取值的次数。上表表示,变量TYPE取值为‘I’共3次,取值为‘II’共17次。

iii.     表格中表格线用‘-’、‘|’、‘+’等表示。

 

B.用   table type premium; 得到:

 

TYPE

 

II

I

PREMIUM

N

N

SUM

17.00

3.00

3359.15

 

注:

i. PREMIUM为为数据集中一数字型变量名,它已被定义为分析变量。

ii.SUM是一个统计量,它表示某个变量所有观测值的和。上表表示,变量PREMIUM所有观测值的和为3359.15。

 

C.用   table type,premium; 得到:

 

 

PREMIUM

 

SUM

TYPE

 

I

312.65

II

3046.50

 

上表表示,将数据集中所有观测按变量TYPE的取值分为两类,在变量TYPE的取值为‘I’的一类中,变量PREMIUM所有观测值的和为312.65;在变量TYPE的取值为‘II’的一类中,变量PREMIUM所有观测值的和为3046.50。

 

D.用   table type,premium,sum;     得到:

 

TYPE I

 

SUM

PREMIUM

312.65

 

TYPE II

 

SUM

PREMIUM

3046.50

 

3)设定统计量

你可以在维表达式中设定你想要的统计量,方法是用星号把统计量和变量连在一起。

例如:  proc tabulatedata=clinic.admit;

            var fee;

            tablefee*mean;

            tablemean*fee;

        run;

可得:

 

FEE

MEAN

124.67

 

MEAN

FEE

124.67

 

关于设定统计量的一些规则:

A.对分类变量,缺省的统计量是N(出现次数)

B.对分类变量,可要求的统计量只有N和PCTN(出现次数的百分比)

C.对分析变量,缺省的统计量是SUM(和)

D.对分析变量,可要求计算任意统计量

E.若TABLE语句中有分析变量,则统计分析针对分析变量进行

F.统计量可以在任意维中设定,但只能在同一维中设定

例如:  proc tabulatedata=clinic.admit;

            class sexactlevel;

            var heightweight;

            tableheight*mean weight*max,actlevel;

            table sex*pctnactlevel*n;

        run;

4)设定总和

你可以在TABLE语句中利用一个特别的分类变量ALL,得到总和。例如:

    proc tabulatedata=clinic.admit;

        var fee;

        class sex;

        table sexall,fee;

    run;

得到:

 

 

FEE

 

SUM

SEX

 

F

76.90

M

201.70

ALL

278.60

 

注意,你不需要在CLASS语句中定义ALL。

7.与PRINT过程步中相同的一些选择和设置

1)选择观测

在TABULATE过程步中,你也可以用WHERE语句来选择观测,用法与在PRINT过程步中一样。

2)题注为尾注

在TABULATE过程步中,你也可以用TITLE和FOOTNOTE语句来设定题注为尾注,用法与在PRINT过程步中一样。

3)给变量设定描述性标记

在TABULATE过程步中,你也可以用LABEL给变量设定描述性标记,用法与在PRINT过程步中一样。

8.设定统计量的标记

除了可以给数据集中的变量设定描述性标记之外,还可以给统计量设定描述性标记,比如说,你希望计算出来的均值在表格中用‘Average’表示,而不是‘MEAN’,用KEYLABEL语句可以完成这项工作。KEYLABEL语句的一般形式为:

    KEYLABELkeyword='text';

其中keyword是对应一个统计量的关键词,包括:

    N       MEAN        MIN     PCTN

    SUM     MAX     STD     PCTSUM

引号中的text是对该统计量设定的描述性标记,可长达40个字符。

另外,特殊的分类变量ALL也可作为keyword在LEYLABEL语句中使用,以获得一个描述性标记。

例如:  keylabel mean='Average'

                 all='All Patients';

9.设定表格的格式

最后,我们可以做的是设定表格的宽度和统计数据的显示格式。其缺省设置是12.2,也就是说,表格中每一格宽度为12,其中的统计数据显示小数点后2位。

在许多其他过程步中,你可以用FORMAT语句设定书记处显示格式,但是在TABULATE过程步中,仅仅对给分类变量设定用户自定义格式起作用,因此要另想办法。

你可以在PROC TABULATE语句中用FORMAT=选项对表格中所有单元设定新的格式,例如:

    proc tabulatedata=clinic.admit format=6.

        class actlevel;

        var fee;

        table actlevelall,fee;

    run;

FORMAT=选项同时设定表格单元的宽度和其中数据的显示格式。你可以任意设定一个SAS输出格式或用户定义的数字格式。

当使用FORMAT=选项时,要注意对出现的值或标题给予足够的宽度。

10.     其它

1)空格算符和括号算符

在维表达式中,用空格表示两个变量在同一维中并列,而用括号表示将括号中的变量看作一组。例如:

    table height*meanweight*mean,sex all;

    table type*(sexall);

分别会得到:

 

 

 

SEX

 

 

 

F

M

ALL

HEIGHT

MEAN

64.82

72.00

68.24

WEIGHT

MEAN

141.73

172.8

156.52

 

TYPE

I

II

SEX

 

SEX

 

F

M

ALL

F

M

ALL

N

N

N

N

N

N

1

2

3

10

7

17

 

2)复杂结构

连用星号会得到一个结构比较复杂的表格,例如:

    tablesex,actlevel*age*max;

 

 

ACTLEVEL

 

HIGH

LOW

MOD

 

AGE

AGE

AGE

 

MAX

MAX

MAX

SEX

 

 

 

F

44.00

49.00

43.00

M

29.00

60.00

54.00

 

3)CONDENSE选项

当制作三维表格时,表示在若干页上建立二维表格,但如果你希望这些表格出现在同一页上的话,可在TABLE语句中使用CONDENSE选项。例如:

    tabletype,premium,sum /condense;

 

三.练习

 

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/utnewbear/article/details/8258264

智能推荐

oracle 12c 集群安装后的检查_12c查看crs状态-程序员宅基地

文章浏览阅读1.6k次。安装配置gi、安装数据库软件、dbca建库见下:http://blog.csdn.net/kadwf123/article/details/784299611、检查集群节点及状态:[root@rac2 ~]# olsnodes -srac1 Activerac2 Activerac3 Activerac4 Active[root@rac2 ~]_12c查看crs状态

解决jupyter notebook无法找到虚拟环境的问题_jupyter没有pytorch环境-程序员宅基地

文章浏览阅读1.3w次,点赞45次,收藏99次。我个人用的是anaconda3的一个python集成环境,自带jupyter notebook,但在我打开jupyter notebook界面后,却找不到对应的虚拟环境,原来是jupyter notebook只是通用于下载anaconda时自带的环境,其他环境要想使用必须手动下载一些库:1.首先进入到自己创建的虚拟环境(pytorch是虚拟环境的名字)activate pytorch2.在该环境下下载这个库conda install ipykernelconda install nb__jupyter没有pytorch环境

国内安装scoop的保姆教程_scoop-cn-程序员宅基地

文章浏览阅读5.2k次,点赞19次,收藏28次。选择scoop纯属意外,也是无奈,因为电脑用户被锁了管理员权限,所有exe安装程序都无法安装,只可以用绿色软件,最后被我发现scoop,省去了到处下载XXX绿色版的烦恼,当然scoop里需要管理员权限的软件也跟我无缘了(譬如everything)。推荐添加dorado这个bucket镜像,里面很多中文软件,但是部分国外的软件下载地址在github,可能无法下载。以上两个是官方bucket的国内镜像,所有软件建议优先从这里下载。上面可以看到很多bucket以及软件数。如果官网登陆不了可以试一下以下方式。_scoop-cn

Element ui colorpicker在Vue中的使用_vue el-color-picker-程序员宅基地

文章浏览阅读4.5k次,点赞2次,收藏3次。首先要有一个color-picker组件 <el-color-picker v-model="headcolor"></el-color-picker>在data里面data() { return {headcolor: ’ #278add ’ //这里可以选择一个默认的颜色} }然后在你想要改变颜色的地方用v-bind绑定就好了,例如:这里的:sty..._vue el-color-picker

迅为iTOP-4412精英版之烧写内核移植后的镜像_exynos 4412 刷机-程序员宅基地

文章浏览阅读640次。基于芯片日益增长的问题,所以内核开发者们引入了新的方法,就是在内核中只保留函数,而数据则不包含,由用户(应用程序员)自己把数据按照规定的格式编写,并放在约定的地方,为了不占用过多的内存,还要求数据以根精简的方式编写。boot启动时,传参给内核,告诉内核设备树文件和kernel的位置,内核启动时根据地址去找到设备树文件,再利用专用的编译器去反编译dtb文件,将dtb还原成数据结构,以供驱动的函数去调用。firmware是三星的一个固件的设备信息,因为找不到固件,所以内核启动不成功。_exynos 4412 刷机

Linux系统配置jdk_linux配置jdk-程序员宅基地

文章浏览阅读2w次,点赞24次,收藏42次。Linux系统配置jdkLinux学习教程,Linux入门教程(超详细)_linux配置jdk

随便推点

matlab(4):特殊符号的输入_matlab微米怎么输入-程序员宅基地

文章浏览阅读3.3k次,点赞5次,收藏19次。xlabel('\delta');ylabel('AUC');具体符号的对照表参照下图:_matlab微米怎么输入

C语言程序设计-文件(打开与关闭、顺序、二进制读写)-程序员宅基地

文章浏览阅读119次。顺序读写指的是按照文件中数据的顺序进行读取或写入。对于文本文件,可以使用fgets、fputs、fscanf、fprintf等函数进行顺序读写。在C语言中,对文件的操作通常涉及文件的打开、读写以及关闭。文件的打开使用fopen函数,而关闭则使用fclose函数。在C语言中,可以使用fread和fwrite函数进行二进制读写。‍ Biaoge 于2024-03-09 23:51发布 阅读量:7 ️文章类型:【 C语言程序设计 】在C语言中,用于打开文件的函数是____,用于关闭文件的函数是____。

Touchdesigner自学笔记之三_touchdesigner怎么让一个模型跟着鼠标移动-程序员宅基地

文章浏览阅读3.4k次,点赞2次,收藏13次。跟随鼠标移动的粒子以grid(SOP)为partical(SOP)的资源模板,调整后连接【Geo组合+point spirit(MAT)】,在连接【feedback组合】适当调整。影响粒子动态的节点【metaball(SOP)+force(SOP)】添加mouse in(CHOP)鼠标位置到metaball的坐标,实现鼠标影响。..._touchdesigner怎么让一个模型跟着鼠标移动

【附源码】基于java的校园停车场管理系统的设计与实现61m0e9计算机毕设SSM_基于java技术的停车场管理系统实现与设计-程序员宅基地

文章浏览阅读178次。项目运行环境配置:Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。项目技术:Springboot + mybatis + Maven +mysql5.7或8.0+html+css+js等等组成,B/S模式 + Maven管理等等。环境需要1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。_基于java技术的停车场管理系统实现与设计

Android系统播放器MediaPlayer源码分析_android多媒体播放源码分析 时序图-程序员宅基地

文章浏览阅读3.5k次。前言对于MediaPlayer播放器的源码分析内容相对来说比较多,会从Java-&amp;amp;gt;Jni-&amp;amp;gt;C/C++慢慢分析,后面会慢慢更新。另外,博客只作为自己学习记录的一种方式,对于其他的不过多的评论。MediaPlayerDemopublic class MainActivity extends AppCompatActivity implements SurfaceHolder.Cal..._android多媒体播放源码分析 时序图

java 数据结构与算法 ——快速排序法-程序员宅基地

文章浏览阅读2.4k次,点赞41次,收藏13次。java 数据结构与算法 ——快速排序法_快速排序法