Spss算术函数 " M% |% K" [0 |+ c) X% O; a9 l$ L; b) ]8 D" o& J1 I5 D
ABS(numexpr) 数值。返回 numexpr(必须为数值)的绝对值。 4 Q6 ?+ W; W9 E8 YARSIN(numexpr) 数值。返回 numexpr 的反正弦(以弧度为单位),求出的值必须为 -1 和 +1 之间的数字值。 , @& N" V! o4 T7 L: |5 `ARTAN(numexpr) 数值。返回 numexpr 的反正切(以弧度为单位),numexpr 必须为数字值。 3 ~* b X# G M. R8 O4 w+ D) f' BCOS(radians) 数值。返回 radians 的余弦(以弧度为单位),radians 必须为数字值。# S8 [ z. @+ ^! B& ?
EXP(numexpr) 数值。返回 e 的 numexpr 次幂,其中 e 是自然对数的底数,而 numexpr 是数值。较大的 numexpr 值可能会产生超过机器性能的结果。 ! T8 ]" C5 q8 C. GLN(numexpr) 数值。返回以 e 为底数的 numexpr 的对数,numexpr 必须为大于 0 的数值。: ~2 v( r/ y, q& z" c, }
LNGAMMA(numexpr) 数值。返回 numexpr 的完全 Gamma 函数的对数,numexpr 必须为大于 0 的数值。 # @2 @5 ?, E8 G: X+ n2 ?8 aLG10(numexpr) 数值。返回以 10 为底数的 numexpr 的对数,numexpr 必须为大于 0 的数值。7 R) u0 c( _1 K" w N: M( C
MOD(numexpr,modulus) 数值。返回 numexpr 除以 modulus 所得到的余数。两个参数都必须为数值,且 modulus 不得为 0。8 H4 a- q7 d$ B. \6 O1 M8 M p
RND(numexpr) 数值。返回对 numexpr 舍入后产生的整数,numexpr 必须为数值。刚好以 .5 结尾的数值将舍去 0 以后的数值。3 Z4 {* q! n W" B/ v
SIN(radians) 数值。返回 radians 的正弦(以弧度为单位),radians 必须为数字值。 / E+ m% z5 |0 WSQRT(numexpr) 数值。返回 numexpr 的正平方根,numexpr 必须为非负数。 * P1 ?4 o2 e+ D! [- H6 d* u. KTRUNC(numexpr) 数值。返回 numexpr 被截断为整数(向 0 的方向)的值。 % X* }, h9 u3 Q ! ^: o1 N- ^- \$ ^- Y统计函数9 a! _9 X1 ~, E5 ^/ b& S" D) Y
后缀 .n 可在所有统计函数中使用以指定有效参数的数目。例如,仅当至少两个变量含有效值时,MEAN.2(A,B,C,D) 对变量 A、B、C 和 D 返回其有效值的均值。SD、VARIANCE 和 CFVAR 的缺省 n 值为 2,其他统计函数为 1。 % v g$ W) K. eCFVAR(numexpr,numexpr[,...])数值。返回其具有有效值的参数的方差系数(标准差除以均值)。此函数需要两个或更多参数,这些参数必须为数值。您可以指定有效参数的最小数目,以对此函数求值。 ) u. H: n- V6 n2 l+ p2 [! fLAG(variable) 数值或字符串。返回数据文件中前一个个案的变量值。为第一个个案返回系统缺失值(数值变量)或空白(字符串变量)。 ( w. G8 F5 j* k; mLAG(variable,ncases) 数值或字符串。返回文件中前 n 个个案的变量值。为前 n 个个案返回系统缺失值(数值变量)或空白(字符串变量)。 8 W2 U* Y0 i# e$ B! ~6 j# K( V! H注意:在一系列的转换命令(无干预 EXECUTE 命令或是其他读取数据的命令)中,延迟函数将在所有其他转换后计算,而无论命令顺序如何。 ' C9 a+ Y" w9 @, {! GMAX(value,value[,...])数值或字符串。返回其具有有效值的参数的最大值。此函数需要两个或更多参数。您可以指定有效参数的最小数目,以对此函数求值。6 t! h) F5 Y' [- {( I, ^
MEAN(numexpr,numexpr[,...])数值。返回其具有有效值的参数的算术均值。此函数需要两个或更多参数,这些参数必须为数值。您可以指定有效参数的最小数目,以对此函数求值。 9 j( x! A& h7 u: D& C/ d) ^+ TMIN(value,value[,...])数值或字符串。返回其具有有效值的参数的最小值。此函数需要两个或更多参数。您可以指定有效参数的最小数目,以对此函数求值。. X4 ?( P# d$ `: m
NVALID(variable[,...])数值。返回具有有效的非缺失值的参数的计数。此函数需要一个或多个参数,这些参数应为工作数据文件中的变量名称。% {3 a. o2 I: o3 O+ \
SD(numexpr,numexpr[,...])数值。返回其具有有效值的参数的标准差。此函数需要两个或更多参数,这些参数必须为数值。您可以指定有效参数的最小数目,以对此函数求值。( y6 T8 g5 t9 k' f
SUM(numexpr,numexpr[,...])数值。返回其具有有效值的参数的和。此函数需要两个或更多参数,这些参数必须为数值。您可以指定有效参数的最小数目,以对此函数求值。 0 d% x) A, V3 C: k% pVARIANCE(numexpr,numexpr[,...])数值。返回其具有有效值的参数的方差。此函数需要两个或更多参数,这些参数必须为数值。您可以指定有效参数的最小数目,以对此函数求值。 / j( G- M B0 z8 i% `字符串函数 g- Z9 G6 m: r& qCONCAT(strexpr,strexpr[,...])字符串。返回由其全部参数拼接而成的字符串,对其求出的值必须为字符串。此函数需要两个或更多参数。 + A H* q3 [4 k N3 p1 {' [INDEX(haystack,needle) 数值。返回一个整数,指示字符串 needle 第一次出现在字符串 haystack 中的起始位置。如果 needle 未出现在 haystack 中,则返回 0。 ( U, w+ x q& a6 nINDEX(haystack,needle,divisor) 数值。请参阅前述函数。可选的第三个参数 divisor 是用于将 needle 划分为各个单独字符串以便搜索的字符数。它必须是一个可平均划分 needle 长度的整数。' H. q& d: L0 N) x
LOWER(strexpr) 字符串。返回大写字母都更改为小写字母而其他字符不变的 strexpr。9 A1 ]$ ?3 F0 B/ \- ~8 \
LPAD(strexpr,length) 字符串。返回为了延伸到 length 给定的长度而用空格填充左侧的字符串 strexpr,length 必须为 1 到 255 之间的正整数。3 E: V3 I- B' g I3 T$ R9 ~/ O
LPAD(strexpr,length,char) 字符串。与带两个参数的 LPAD 相同,但用 char 填充 strexpr 的左侧。可选的第三个参数 char 是包含在一对单引号中的单个字符,或是某个产生单个字符的字符串表达式。 , S& `( r" Q1 ALTRIM(strexpr) 字符串。返回删除了所有前导空格的字符串 strexpr。 * E5 t( M6 m) n5 x% cLTRIM(strexpr,char) 字符串。与带一个参数的 LTRIM 相同,但删除 char 的前导实例。可选的第二个参数 char 是包含在一对单引号中的单个字符,或是某个产生单个字符的字符串表达式。2 z8 i/ G1 O$ H$ K0 D1 X0 b4 e
LENGTH(strexpr) 数值。返回 strexpr 的长度,strexpr 必须是一个字符串表达式。这是定义的长度,包括尾部的空格。要获取不带尾部空格时的长度,请使用 LENGTH(RTRIM(strexpr))。0 z5 i4 [* O7 x% i8 h- L
RINDEX(haystack,needle) 数值。返回一个整数,指示字符串 needle 最后一次出现在字符串 haystack 中的起始位置。如果 needle 未出现在 haystack 中,则返回 0。' N0 u6 M8 I7 }' N% h6 {
RINDEX(haystack,needle,divisor) 数值。请参阅前述函数。可选的第三个参数 divisor 是用于将 needle 划分为各个单独字符串以便搜索的字符数。它必须是一个可平均划分 needle 长度的整数。 $ B7 @4 J% k: G) d8 m& |RPAD(strexpr,length) 字符串。返回为延伸到 length 给定的长度而用空格填充右侧的字符串 strexpr,length 必须为 1 到 255 之间的正整数。 + s. [$ F8 u. i6 @! ~RPAD(strexpr,length,char) 字符串。与带有两个参数的 RPAD 相同,但用 char 填充 strexpr 的右侧。可选的第三个参数 char 是包含在一对单引号中的单个字符,或是某个产生单个字符的表达式。' p; X8 e. d4 n/ ^7 r- k
RTRIM(strexpr) 字符串。返回删除了所有尾部空格的字符串 strexpr。此函数通常用于较大的表达式中,这是因为在将字符串分配给变量时用尾部空格填充了该字符串。4 c8 D4 B* `* k& M* o
RTRIM(strexpr,char) 字符串。与带有一个参数的 RTRIM 相同,但删除 char 的尾部实例。可选的第二个参数 char 是包含在一对单引号中的单个字符,或是某个产生单个字符的表达式。 - r! l4 h/ I6 _- K& kSUBSTR(strexpr,pos) 字符串。返回 strexpr 中从位置 pos 开始一直到结尾的子字符串。 , S7 h: V5 Q% }" e; E& d; }SUBSTR(strexpr,pos,length) 字符串。返回 strexpr 中从位置 pos 开始、长度为 length 的子字符串。 5 Y, k/ d0 J$ qUPCAS(strexpr) 字符串。返回小写字母都更改为大写字母而其他字符不变的 strexpr。8 X0 \3 e, r- C. J
日期和时间函数! G( U$ b( W% G O' j6 @7 U
CTIME.DAYS(timevalue) 数值。返回 timevalue 中的天数(包括有小数位的天数),timevalue 必须为时间格式的数值或表达式,如 TIME.** 函数的结果。 , p5 ?# c8 l5 b9 |. NCTIME.HOURS(timevalue) 数值。返回 timevalue 中的小时数(包括有小数位的小时数),timevalue 必须为时间格式(TIME.** 函数之一所创建的或以 TIME 输入格式读取的格式)的数值或表达式。% U. K* n( ^9 \3 V w+ ?3 K2 I
CTIME.MINUTES(timevalue) 数值。返回 timevalue 中的分钟数(包括有小数位的分钟数),timevalue 必须为时间格式(TIME.** 函数之一所创建的或以 TIME 输入格式所读取的格式)的数字或表达式。! r: z1 a ?& t7 V' Z
CTIME.SECONDS(timevalue) 数值。返回 timevalue 中的秒数(包括有小数位的秒数),timevalue 必须为时间格式(TIME.** 函数之一所创建的或以 TIME 输入格式所读取的格式)的数字或表达式。- E$ O5 k4 y5 |0 V, c. J
DATE.DMY(day,month,year) 日期格式的数值。返回一个对应于所指示的 day、month 和 year 的日期值。要正确显示此值,可为其指定 DATE 格式。参数都必须为整数,day 在 1 和 31 之间,month 在 1 和 13 之间,year 为一个大于 1582 的四位数整数。 , s, f; G; X: l- ^DATE.MDY(month,day,year) 日期格式的数值。返回一个对应于所指示的 month、day 和 year 的日期值。要正确显示此值,可为其指定 DATE 格式。参数则同前述函数。 ( S" ]( A( p8 C- T, x* g' n1 }# ODATE.MOYR(month,year) 日期格式的数值。返回一个对应于所指示的 month 和 year 的日期值。要正确显示此值,可为其指定 DATE 格式。参数都必须为整数,month 在 1 和 13 之间,year 为一个大于 1582 的四位数整数。% ^( V2 ]- f0 w, k% t3 o) D
DATE.QYR(quarter,year) 日期格式的数值。返回一个对应于所指示的 quarter 和 year 的日期值。要正确显示此值,可为其指定 DATE 格式。参数都必须为整数,quarter 在 1 和 4 之间,year 为一个大于 1582 的四位数整数。 4 R& E6 a' h" e* uDATE.WKYR(weeknum,year) 日期格式的数值。返回一个对应于所指示的 weeknum 和 year 的日期值。要正确显示此值,可为其指定 DATE 格式。参数都必须为整数,weeknum 在 1 和 52 之间,year 为一个大于 1582 的四位数整数。# \6 Y! E' X; r0 e1 n! X
DATE.YRDAY(year,daynum) 日期格式的数值。返回一个对应于所指示的 year 和 daynum 的日期值。要正确显示此值,可为其指定 DATE 格式。参数都必须为整数,daynum 在 1 和 366 之间,year 为一个大于 1582 的四位数整数。8 F5 e( B; a2 v
TIME.DAYS(days) 时间区间格式的数值。返回一个对应于所指示的 days 数的时间区间。要正确显示此值,可为其指定 TIME 格式。参数必须为数值。 % R3 }) y' g+ K1 P6 H6 aTIME.HMS(hours,min,sec) 时间区间格式的数值。返回一个对应于所指示的 hours、min 和 sec 数的时间区间。要正确显示此值,可为其指定 TIME 格式。参数 hours、min 和 sec 必须分别为不大于 24、60 和 60 的整数,但第一个非零参数可以超出其限制,且最后一个参数可以有小数部分。 0 N0 g5 {9 o) Q4 U0 zXDATE.DATE(datevalue) 日期格式的数值。返回日期格式(DATE.** 函数所创建的或 DATE 输入格式之一所读取的格式)的数值中的日期部分。(必须为此函数所创建的变量指定相应的显示格式。在"数据编辑器"的"变量视图"中,使用该变量的"类型"单元格为其指定一个日期显示格式。) , U: d0 Y+ A6 x- s4 pXDATE.HOUR(datevalue) 数值。返回日期格式(DATE.** 函数所创建的或 DATE 输入格式之一所读取的格式)的数值中的小时(0 和 23 之间的一个整数)。" r3 a- K# x" z! t$ b2 m6 A- Y
XDATE.JDAY(datevalue) 数值。返回日期格式(DATE.** 函数所创建的或 DATE 输入格式之一所读取的格式)的数值中一年中的某天(1 和 366 之间的一个整数)。 2 [3 C& ~0 H% z4 C# f: fXDATE.MDAY(datevalue) 数值。返回日期格式(DATE.** 函数所创建的或 DATE 输入格式之一所读取的格式)的数值中一月中的某天(1 和 31 之间的一个整数)。( } W3 v" d4 R0 ^9 p0 u; @/ H
XDATE.MINUTE(datevalue) 数值。返回日期格式(DATE.** 函数所创建的或 DATE 输入格式之一所读取的格式)的数值中的分钟(0 和 59 之间的一个整数)。 6 \& M+ r0 f: H+ K! p c8 UXDATE.MONTH(datevalue) 数值。返回日期格式(DATE.** 函数所创建的或 DATE 输入格式之一所读取的格式)的数值中的月(1 和 12 之间的一个整数)。( x8 L4 r5 p+ k: U# j
XDATE.QUARTER(datevalue) 数值。返回日期格式(DATE.** 函数所创建的或 DATE 输入格式之一所读取的格式)的数值中一年中的季度(1 和 4 之间的一个整数)。 : Q% S3 p8 A6 S1 X2 l4 |% rXDATE.SECOND(datevalue) 数值。返回日期格式(DATE.** 函数所创建的或 DATE 输入格式之一所读取的格式)的数值中的秒(0 和 60 之间的一个数)。 ' U7 Y) P* ^5 z+ ]" }4 J. f5 ?9 vXDATE.TDAY(timevalue) 数值。返回时间区间格式(TIME.** 函数之一所创建的或 TIME 输入格式所读取的格式)的数值中的整天数(整数形式) 。( J: k; [8 r' w
XDATE.TIME(datevalue) 时间区间格式的数值,代表午夜以来的秒数。返回日期格式(DATE.** 函数所创建的或 DATE 输入格式之一所读取的格式)的数值中一天中的时间。(通常应为此函数所创建的变量指定相应的显示格式。在"数据编辑器"的"变量视图"中,使用该变量的" 类型"单元格为其指定一个显示为小时和分钟的日期显示格式。) 8 r# Q9 u( o, L1 _XDATE.WEEK(datevalue) 数值。返回日期格式(DATE.** 函数所创建的或 DATE 输入格式之一所读取的格式)的数值中的周数(1 和 53 之间的一个整数)。# s- W1 c# m8 x. s2 m
XDATE.WKDAY(datevalue) 数值。返回日期格式(DATE.** 函数所创建的或 DATE 输入格式之一所读取的格式)的数值中的星期(代表星期天的 1 和代表星期六的 7 之间的整数) 。' ?" H! w8 [3 e
XDATE.YEAR(datevalue) 数值。返回日期格式(DATE.** 函数所创建的或 DATE 输入格式之一所读取的格式)的数值中的年份(四位数的整数形式) 。) b! i' l4 t0 S D3 e; [# e
YRMODA(year,month,day) 数值。返回从 1582 年 10 月 15 日开始一直到参数 year、month 和 day 所代表的日期为止的天数,这三个参数必须为可构成自 1582 年 10 月 15 日以来的有效日期的整数。两位数的 year 值将采用基于"选项"设置("编辑"菜单,"选项","数据"选项卡)的世纪。缺省情况下,两位数的 year 的取值全距如下:从当前日期之前 69 年开始,到当前日期之后的 30 年结束。 " t3 v4 y e. l& Q$ g 3 N$ \1 A% {' s W% ?/ W* o逻辑函数+ ^7 Z. r0 j- f: s1 u( Z" Q
4 O5 H% P; I) K. F: B$ [. x) l, `" h
RANGE(test,lo,hi[,lo,hi,...])逻辑。如果 test ) z0 A% [% ]' R) A; v是在 lo, hi 对所定义的任何包含全距内,则返回 1 或 true。参数必须全部为数值或全部为字符串,必须长度相同,并且每个lo, hi 对必须按 lo <= hi 来排序。& k4 M8 u. U3 h