SPSS函数是一个常用程序(rountine),并且利用一个或多个自变量(参数)来执行。每个SPSS函数均有一个关键名称(keywordname),且绝不能写错。通常,函数的格式为:函数名称(自变量,自变量,……),某些函数可能只含有一个自变量,而有些函数则可能含有多个自变量,当一个函数含有多个自变量时,各自变量间用逗号(,)隔开,而函数的自变量通常又可分为以下三种:1)常数,如SQRT(100):2)变量名称,如MEAN(VAR1,VAR2,VAR3);3)表达式,如MIN(30,SQRT(100))。总之,SPSS函数和我们平时EXCEL里面函数格式规则并无差别。
SPSS提供了180多种函数,共可分为十多类(SPSS 17.0中大大小小分了18类)。和EXCEL一样,我们也不可能记住所有函数,只要知道一些常用函数,至于其他函数要用的时候再去查找也不迟,下面本人将列举一些常用函数:
函数 | 说明 | 范例(x=2.6,y=3) |
ABS(numbexpr) | 绝对值函数 | ABS(y-x)=0.4 |
RND(numbexpr) | 四舍五入函数 | RND(x)=3 |
TRUNC(numbexpr) | 取整函数 | TRUNC(x)=2 |
SORT(numbexpr) | 平方根函数 | SQRT(y)=1.71 |
MOD(numbexpr,modulus) | 求算两数相除后的余数 | MOD(y,x)=0.4 |
EXP(numbexpr) | 以e为底的指数函数 | EXP(y)=20.09 |
LG10(numbexpr) | 以10底的对数函数 | LG10(x*10)=1.41 |
LN(numbexpr) | 自然对数函数 | LN(y)=1.1 |
函数 | 说明 | 范例(X1=2,X2=5,X3=8) |
MEAN(numexpr,numexpr,…) | 自变量的平均值 | MEAN(X1,X2,X3)=5 |
MIN(value, value,…) | 自变量的最小值 | MIN(X1,X2,X3)=1 |
MAX(value, value,…) | 自变量的最大值 | MAX(X1,X2,X3)=8 |
SUM(numexpr,numexpr,…) | 求和 | SUM(X1,X2,X3)=15 |
SD(numexpr,numexpr,…) | 求标准差 | SD(X1,X2,X3)=3 |
VARIANCE(numexpr,numexpr,…) | 求方差 | VAR(X1,X2,X3)=9 |
CFVAR(numexpr,numexpr,…) | 求变异系数 | CFVAR(X1,X2,X3)=0.6 |
函数 | 说明 | 范例 |
MISSING(variable) | 若变量缺失,则为T或1,否则为F或0 | MISSING(X1)=1 MISSING(X2)=1 MISSING(X3)=0 |
SYSMIS(numvar) | 若变量是系统缺失值则为T或1,如为自定缺失或非缺失则为F或0 | SYSMIS(X1)=0 SYSMIS(X2)=1 SYSMIS(X3)=0 |
NMISS(variable,…) | 缺失值个数 | NMISS(X1,X2,X3)=2 |
NVALID(variable,…) | 有效值个数 | NVALID(X1,X2,X3)=1 |
VALUE(variable,…) | 忽略自定义缺失值,当作非缺失 | VALUE(X1)=X1 |
注:X1为使用者界定缺失值,X2为系统缺失值,X3为非缺失值
函数 | 说明 | 范例 |
ANY(test,value,value) | 若自变量1和后面自变量窜相同则为真,记为1 | ANY(is, this)=0 ANY(is,this,is)=1 |
CONCAT(strexpr,strexpr) | 将自变量连成一个新自变量 | CONCAT(th,is)=this |
INDEX(haystack,needle,divisor) | Divisor在needle最左侧开始出现的位置 | INDEX(‘this is’,’is’)=3 |
LENGTH(strexpr) | 自变量所含文字的个数(包括特殊字符和空格) | LENGTH(‘th is’)=5 |
LOWER(strexpr) | 自变量中的大写字母改为小写字母 | LOWER(‘This’)=’this’ |
UPCASE(strexpr) | 将自变量中的小写字母改为大写字母 | UPCASE(‘this’)=’THIS’ |
LTRIM(strexpr,char) | 在strexpr开始处去除char所形成的常量,如无char则去除strexpr左侧的空格 | LTRIM(‘this’,’t’)=’his’ LTRIM(‘this’,’is’)=’th’ LTRIM(‘ this’)=’this’ |
NUMBER (strexpr,format) | 当自变量为数字的文字变量时,按文字变量指定格式转换为数字变量 | NUMBER(‘23’,F8.1)=2.3 NUMBER(‘23’,F8.0)=23 |
RANGE(test,lo,hi,lo,hi) | 如果自变量1的值包含在自变量集lo至hi的范围内,则为T或1 | RANGE(‘c’,’a’,’k’)=T |
STRING(strexpr,format) | 按指定格式将自变量转换为文字型变量 | STRING(3+4,F8.2)=’7.00’ |
SUBSTR(sterxpr,pos,length) | 从strexpr子窜的第pos位置开始取length的字符串长度 | SUBSTR(‘this is’,6,2)=’is’ |
函数 | 说明 | 范例 |
DATA.DMY(d,m,y) | 与指定日月年对应的日期 | DATA.DMY(3,5,99)=05/03/99 |
DATA.MDY(m,d,y) | 与指定月日年对应的日期 | DATA.MDY(5,3,99)=05/03/99 |
DATA.YRDA(y,d) | 与指定年日对应的日期 | DATA.YRDA(99,35)=02/04/99 |
DATA.QYR(q,y) | 指定的季节年份对应的日期 | DATA.QYR(2,99)=04/01/99 |
DATA.MOYR(m,y) | 与指定的月年度对应的日期 | DATA.MOYR(5,99)=05/01/99 |
DATA.WKYR(w,y) | 与指定的周年度对应的日期 | DATA.WKYR(38,98)=9/17/98 |
注:1 要正确显示以上函数值,必须先赋予其SPSS得日期型变量(DATA)格式,假设以上日期用mm/dd/yy格式显示,时间则用hh:mm:ss格式表示
(六)其他函数
SPSS除了上述函数外,尚有日期和时间转换函数(YOMODA\CTMIESDAYS\CTIMEHOURS\MDAYS等)、连续几率密度函数(CDF\BINOM\CHISQ\CDF\EXP\LOGISTIC等),此外还有NORMAL(stddev)可产生平均数为0,标准差为stddev的正态分布随机数字。UNIFORM(max)可产生平均数为0与max间呈均等分布的随机数字。
PS:还可以像EXCEL一样利用脚本编写自定义函数,目前SPSS支持python,Sax Basic(一种与VB兼容的编程语言)等语言,利用new--script可编写出自己需要的函数。script界面如下:
原文链接:我爱数据分析网http://www.52analysis.com/SPSS_SAS/2045.html
(责任编辑:lestat)