Spss算术函数" N$ a, W, q5 a8 I! g7 t
2 e" d/ A, E5 J% K2 U# b, I
ABS(numexpr) 数值。返回 numexpr(必须为数值)的绝对值。* {: z- P( w, N7 W c1 `
ARSIN(numexpr) 数值。返回 numexpr 的反正弦(以弧度为单位),求出的值必须为 -1 和 +1 之间的数字值。6 l3 a: ~1 ]' Y6 j
ARTAN(numexpr) 数值。返回 numexpr 的反正切(以弧度为单位),numexpr 必须为数字值。 ; y" V7 F) C/ x; I* F# RCOS(radians) 数值。返回 radians 的余弦(以弧度为单位),radians 必须为数字值。3 m# G6 T/ X" a9 U
EXP(numexpr) 数值。返回 e 的 numexpr 次幂,其中 e 是自然对数的底数,而 numexpr 是数值。较大的 numexpr 值可能会产生超过机器性能的结果。9 R6 }. F# E: o, |& t9 v, w
LN(numexpr) 数值。返回以 e 为底数的 numexpr 的对数,numexpr 必须为大于 0 的数值。$ N$ {- u3 G2 C+ @/ O$ h
LNGAMMA(numexpr) 数值。返回 numexpr 的完全 Gamma 函数的对数,numexpr 必须为大于 0 的数值。7 T) Q8 \( o7 p5 G7 S
LG10(numexpr) 数值。返回以 10 为底数的 numexpr 的对数,numexpr 必须为大于 0 的数值。! q7 m. z6 d+ m [
MOD(numexpr,modulus) 数值。返回 numexpr 除以 modulus 所得到的余数。两个参数都必须为数值,且 modulus 不得为 0。 2 D& @9 F: ~; V! i4 w- URND(numexpr) 数值。返回对 numexpr 舍入后产生的整数,numexpr 必须为数值。刚好以 .5 结尾的数值将舍去 0 以后的数值。 ; o8 s5 A# G& E+ r/ b- BSIN(radians) 数值。返回 radians 的正弦(以弧度为单位),radians 必须为数字值。 % D, [3 w; Y6 D2 E( H& }SQRT(numexpr) 数值。返回 numexpr 的正平方根,numexpr 必须为非负数。 , k; B0 H6 y+ X* cTRUNC(numexpr) 数值。返回 numexpr 被截断为整数(向 0 的方向)的值。 / h0 |# D7 K9 J4 h
' r' @# P3 F3 e# y" q
统计函数 - `; A ~0 m2 T+ `% V2 F/ `1 U后缀 .n 可在所有统计函数中使用以指定有效参数的数目。例如,仅当至少两个变量含有效值时,MEAN.2(A,B,C,D) 对变量 A、B、C 和 D 返回其有效值的均值。SD、VARIANCE 和 CFVAR 的缺省 n 值为 2,其他统计函数为 1。 ' d' N, G. l: ~2 w0 _/ DCFVAR(numexpr,numexpr[,...])数值。返回其具有有效值的参数的方差系数(标准差除以均值)。此函数需要两个或更多参数,这些参数必须为数值。您可以指定有效参数的最小数目,以对此函数求值。 - M' y) E/ S. Z1 c) TLAG(variable) 数值或字符串。返回数据文件中前一个个案的变量值。为第一个个案返回系统缺失值(数值变量)或空白(字符串变量)。 4 { m' ]4 i" @0 \LAG(variable,ncases) 数值或字符串。返回文件中前 n 个个案的变量值。为前 n 个个案返回系统缺失值(数值变量)或空白(字符串变量)。+ N- T3 c3 j1 T* m c
注意:在一系列的转换命令(无干预 EXECUTE 命令或是其他读取数据的命令)中,延迟函数将在所有其他转换后计算,而无论命令顺序如何。3 h, A/ {% E$ z. k* [' w
MAX(value,value[,...])数值或字符串。返回其具有有效值的参数的最大值。此函数需要两个或更多参数。您可以指定有效参数的最小数目,以对此函数求值。 ( s+ k2 K9 C5 h- V" ~MEAN(numexpr,numexpr[,...])数值。返回其具有有效值的参数的算术均值。此函数需要两个或更多参数,这些参数必须为数值。您可以指定有效参数的最小数目,以对此函数求值。) Z1 {, v- u- \ B
MIN(value,value[,...])数值或字符串。返回其具有有效值的参数的最小值。此函数需要两个或更多参数。您可以指定有效参数的最小数目,以对此函数求值。 * D! ~9 a+ d: G/ @NVALID(variable[,...])数值。返回具有有效的非缺失值的参数的计数。此函数需要一个或多个参数,这些参数应为工作数据文件中的变量名称。 / |& V8 Z! B. `% c# lSD(numexpr,numexpr[,...])数值。返回其具有有效值的参数的标准差。此函数需要两个或更多参数,这些参数必须为数值。您可以指定有效参数的最小数目,以对此函数求值。 6 D1 s3 b& q0 _/ }4 r: j2 o) S5 wSUM(numexpr,numexpr[,...])数值。返回其具有有效值的参数的和。此函数需要两个或更多参数,这些参数必须为数值。您可以指定有效参数的最小数目,以对此函数求值。 1 m* J1 U5 C7 w# U8 t YVARIANCE(numexpr,numexpr[,...])数值。返回其具有有效值的参数的方差。此函数需要两个或更多参数,这些参数必须为数值。您可以指定有效参数的最小数目,以对此函数求值。3 c/ X0 F. _' q' G0 \
字符串函数7 m1 |" \! c8 |" b* f2 X
CONCAT(strexpr,strexpr[,...])字符串。返回由其全部参数拼接而成的字符串,对其求出的值必须为字符串。此函数需要两个或更多参数。& N, r) D! i: q8 n7 {& p- n6 q
INDEX(haystack,needle) 数值。返回一个整数,指示字符串 needle 第一次出现在字符串 haystack 中的起始位置。如果 needle 未出现在 haystack 中,则返回 0。1 r0 o+ d0 k4 b) _0 a6 m
INDEX(haystack,needle,divisor) 数值。请参阅前述函数。可选的第三个参数 divisor 是用于将 needle 划分为各个单独字符串以便搜索的字符数。它必须是一个可平均划分 needle 长度的整数。 % N7 k, Q; F7 GLOWER(strexpr) 字符串。返回大写字母都更改为小写字母而其他字符不变的 strexpr。- t. D% Z; \8 H4 s M( |% N
LPAD(strexpr,length) 字符串。返回为了延伸到 length 给定的长度而用空格填充左侧的字符串 strexpr,length 必须为 1 到 255 之间的正整数。 % s0 l' ]( V, j0 eLPAD(strexpr,length,char) 字符串。与带两个参数的 LPAD 相同,但用 char 填充 strexpr 的左侧。可选的第三个参数 char 是包含在一对单引号中的单个字符,或是某个产生单个字符的字符串表达式。 $ Q3 Z: g9 A) n( ?+ z& I0 U8 [! [LTRIM(strexpr) 字符串。返回删除了所有前导空格的字符串 strexpr。- i& g. `) d: K
LTRIM(strexpr,char) 字符串。与带一个参数的 LTRIM 相同,但删除 char 的前导实例。可选的第二个参数 char 是包含在一对单引号中的单个字符,或是某个产生单个字符的字符串表达式。 ' X, p* i- Y/ t' RLENGTH(strexpr) 数值。返回 strexpr 的长度,strexpr 必须是一个字符串表达式。这是定义的长度,包括尾部的空格。要获取不带尾部空格时的长度,请使用 LENGTH(RTRIM(strexpr))。8 g+ m* Z. R" [& z- R
RINDEX(haystack,needle) 数值。返回一个整数,指示字符串 needle 最后一次出现在字符串 haystack 中的起始位置。如果 needle 未出现在 haystack 中,则返回 0。4 c+ J* | I/ }8 n2 x. Y4 q. W8 E
RINDEX(haystack,needle,divisor) 数值。请参阅前述函数。可选的第三个参数 divisor 是用于将 needle 划分为各个单独字符串以便搜索的字符数。它必须是一个可平均划分 needle 长度的整数。 : P) R9 Y3 s1 d9 aRPAD(strexpr,length) 字符串。返回为延伸到 length 给定的长度而用空格填充右侧的字符串 strexpr,length 必须为 1 到 255 之间的正整数。 ' P2 W3 J U! U$ ?8 ~RPAD(strexpr,length,char) 字符串。与带有两个参数的 RPAD 相同,但用 char 填充 strexpr 的右侧。可选的第三个参数 char 是包含在一对单引号中的单个字符,或是某个产生单个字符的表达式。$ K3 q' o4 E! t& l: j" n) A
RTRIM(strexpr) 字符串。返回删除了所有尾部空格的字符串 strexpr。此函数通常用于较大的表达式中,这是因为在将字符串分配给变量时用尾部空格填充了该字符串。 5 [& ^- w9 P3 n1 [7 jRTRIM(strexpr,char) 字符串。与带有一个参数的 RTRIM 相同,但删除 char 的尾部实例。可选的第二个参数 char 是包含在一对单引号中的单个字符,或是某个产生单个字符的表达式。; t" a" S! _( K* y8 i3 i
SUBSTR(strexpr,pos) 字符串。返回 strexpr 中从位置 pos 开始一直到结尾的子字符串。. x+ ~ M) O0 J5 c
SUBSTR(strexpr,pos,length) 字符串。返回 strexpr 中从位置 pos 开始、长度为 length 的子字符串。: [! l4 [; \9 f* u
UPCAS(strexpr) 字符串。返回小写字母都更改为大写字母而其他字符不变的 strexpr。6 r6 q4 d2 |, r4 u4 Y2 O! @* r
日期和时间函数 7 M/ C: R7 w9 @8 bCTIME.DAYS(timevalue) 数值。返回 timevalue 中的天数(包括有小数位的天数),timevalue 必须为时间格式的数值或表达式,如 TIME.** 函数的结果。 / a# M1 K H2 i7 X8 X' i wCTIME.HOURS(timevalue) 数值。返回 timevalue 中的小时数(包括有小数位的小时数),timevalue 必须为时间格式(TIME.** 函数之一所创建的或以 TIME 输入格式读取的格式)的数值或表达式。 ( ^( @5 B/ V0 f( VCTIME.MINUTES(timevalue) 数值。返回 timevalue 中的分钟数(包括有小数位的分钟数),timevalue 必须为时间格式(TIME.** 函数之一所创建的或以 TIME 输入格式所读取的格式)的数字或表达式。 + v) J- u. X+ K( u$ {6 \0 zCTIME.SECONDS(timevalue) 数值。返回 timevalue 中的秒数(包括有小数位的秒数),timevalue 必须为时间格式(TIME.** 函数之一所创建的或以 TIME 输入格式所读取的格式)的数字或表达式。' ^' j+ P8 Y. P$ H; U2 C
DATE.DMY(day,month,year) 日期格式的数值。返回一个对应于所指示的 day、month 和 year 的日期值。要正确显示此值,可为其指定 DATE 格式。参数都必须为整数,day 在 1 和 31 之间,month 在 1 和 13 之间,year 为一个大于 1582 的四位数整数。0 z9 j, \2 T' b
DATE.MDY(month,day,year) 日期格式的数值。返回一个对应于所指示的 month、day 和 year 的日期值。要正确显示此值,可为其指定 DATE 格式。参数则同前述函数。! y1 {$ A" k: B1 r% w2 M# R( h
DATE.MOYR(month,year) 日期格式的数值。返回一个对应于所指示的 month 和 year 的日期值。要正确显示此值,可为其指定 DATE 格式。参数都必须为整数,month 在 1 和 13 之间,year 为一个大于 1582 的四位数整数。 + B7 i1 J: Z. n; d' l) y$ E0 aDATE.QYR(quarter,year) 日期格式的数值。返回一个对应于所指示的 quarter 和 year 的日期值。要正确显示此值,可为其指定 DATE 格式。参数都必须为整数,quarter 在 1 和 4 之间,year 为一个大于 1582 的四位数整数。/ U0 L0 A6 _2 s. m1 G3 I) e6 C$ C
DATE.WKYR(weeknum,year) 日期格式的数值。返回一个对应于所指示的 weeknum 和 year 的日期值。要正确显示此值,可为其指定 DATE 格式。参数都必须为整数,weeknum 在 1 和 52 之间,year 为一个大于 1582 的四位数整数。- a9 j9 q% }4 \# k% ^4 m$ e- H
DATE.YRDAY(year,daynum) 日期格式的数值。返回一个对应于所指示的 year 和 daynum 的日期值。要正确显示此值,可为其指定 DATE 格式。参数都必须为整数,daynum 在 1 和 366 之间,year 为一个大于 1582 的四位数整数。 & d, Z: g, T* q$ Q. V; p; ^TIME.DAYS(days) 时间区间格式的数值。返回一个对应于所指示的 days 数的时间区间。要正确显示此值,可为其指定 TIME 格式。参数必须为数值。2 u% ~4 H$ G6 q, k4 V6 B3 Y1 Y: X
TIME.HMS(hours,min,sec) 时间区间格式的数值。返回一个对应于所指示的 hours、min 和 sec 数的时间区间。要正确显示此值,可为其指定 TIME 格式。参数 hours、min 和 sec 必须分别为不大于 24、60 和 60 的整数,但第一个非零参数可以超出其限制,且最后一个参数可以有小数部分。 Y9 s$ z) N9 T) X
XDATE.DATE(datevalue) 日期格式的数值。返回日期格式(DATE.** 函数所创建的或 DATE 输入格式之一所读取的格式)的数值中的日期部分。(必须为此函数所创建的变量指定相应的显示格式。在"数据编辑器"的"变量视图"中,使用该变量的"类型"单元格为其指定一个日期显示格式。)* Y. k4 \: q _5 m/ y& d9 C1 B
XDATE.HOUR(datevalue) 数值。返回日期格式(DATE.** 函数所创建的或 DATE 输入格式之一所读取的格式)的数值中的小时(0 和 23 之间的一个整数)。 0 ?3 n t B7 d. {; E9 `XDATE.JDAY(datevalue) 数值。返回日期格式(DATE.** 函数所创建的或 DATE 输入格式之一所读取的格式)的数值中一年中的某天(1 和 366 之间的一个整数)。 % z2 Q! W5 B9 y( Z, I# ~# fXDATE.MDAY(datevalue) 数值。返回日期格式(DATE.** 函数所创建的或 DATE 输入格式之一所读取的格式)的数值中一月中的某天(1 和 31 之间的一个整数)。 1 y' N2 ^% d! ]- w# @# ?6 ]* \XDATE.MINUTE(datevalue) 数值。返回日期格式(DATE.** 函数所创建的或 DATE 输入格式之一所读取的格式)的数值中的分钟(0 和 59 之间的一个整数)。 % \' u& C- S. |XDATE.MONTH(datevalue) 数值。返回日期格式(DATE.** 函数所创建的或 DATE 输入格式之一所读取的格式)的数值中的月(1 和 12 之间的一个整数)。 - A4 r% F. j1 u3 o0 ^6 o: L7 a1 JXDATE.QUARTER(datevalue) 数值。返回日期格式(DATE.** 函数所创建的或 DATE 输入格式之一所读取的格式)的数值中一年中的季度(1 和 4 之间的一个整数)。 $ B# b& B9 F8 r, T4 `XDATE.SECOND(datevalue) 数值。返回日期格式(DATE.** 函数所创建的或 DATE 输入格式之一所读取的格式)的数值中的秒(0 和 60 之间的一个数)。- f, [+ h0 b2 t: Q0 H) G
XDATE.TDAY(timevalue) 数值。返回时间区间格式(TIME.** 函数之一所创建的或 TIME 输入格式所读取的格式)的数值中的整天数(整数形式) 。 2 B; h/ f/ R" N* `: ~6 k. nXDATE.TIME(datevalue) 时间区间格式的数值,代表午夜以来的秒数。返回日期格式(DATE.** 函数所创建的或 DATE 输入格式之一所读取的格式)的数值中一天中的时间。(通常应为此函数所创建的变量指定相应的显示格式。在"数据编辑器"的"变量视图"中,使用该变量的" 类型"单元格为其指定一个显示为小时和分钟的日期显示格式。) 5 s$ @# y) e1 U; L3 i! m1 V" oXDATE.WEEK(datevalue) 数值。返回日期格式(DATE.** 函数所创建的或 DATE 输入格式之一所读取的格式)的数值中的周数(1 和 53 之间的一个整数)。6 ]) J1 m% H% n M- E# |$ ]3 P4 y
XDATE.WKDAY(datevalue) 数值。返回日期格式(DATE.** 函数所创建的或 DATE 输入格式之一所读取的格式)的数值中的星期(代表星期天的 1 和代表星期六的 7 之间的整数) 。) L, c7 U$ K9 p& e3 G
XDATE.YEAR(datevalue) 数值。返回日期格式(DATE.** 函数所创建的或 DATE 输入格式之一所读取的格式)的数值中的年份(四位数的整数形式) 。 7 A7 V2 h' x }9 a4 q8 O% SYRMODA(year,month,day) 数值。返回从 1582 年 10 月 15 日开始一直到参数 year、month 和 day 所代表的日期为止的天数,这三个参数必须为可构成自 1582 年 10 月 15 日以来的有效日期的整数。两位数的 year 值将采用基于"选项"设置("编辑"菜单,"选项","数据"选项卡)的世纪。缺省情况下,两位数的 year 的取值全距如下:从当前日期之前 69 年开始,到当前日期之后的 30 年结束。3 d" S; g$ ^3 V; i" S7 m! k
/ n: |- ?3 |% H9 ?( Q9 b
逻辑函数! `5 S v% B& f4 ?9 v( [6 T
" w0 f/ {+ X y/ V2 X, _6 A' C0 T [
RANGE(test,lo,hi[,lo,hi,...])逻辑。如果 test 6 r! i. p, O5 Y3 @是在 lo, hi 对所定义的任何包含全距内,则返回 1 或 true。参数必须全部为数值或全部为字符串,必须长度相同,并且每个lo, hi 对必须按 lo <= hi 来排序。 $ G! b& }$ t5 @0 G M4 T * ^7 [( {7 W; E/ d注意:对字符串值,由于使用了国家对照顺序,即使是同一字符集,其结果也可能因语言环境不同而不同。语言顺序,而非 ASCII 顺序,决定了序列中的特定字符的位置。( d. c" n/ J6 {2 p