STATA 十八讲:5 函数与运算符 中国人民大学 陈传波 chrisccb@126.com 5 函数与运算符 5.1 运算符exp STATA 共有四种运算,分别是代数运算、字符运算、关系运算和逻辑运算。 运算符一览表 代数运算 逻辑运算 比较关系 + 加 ! 不 > 大于 - 减 ~ 不 < 小于 * 乘 | 或 >= 不小于 / 除 & 和 <= 不大于 ^ 指数 == 等于 sqrt() 开方 != 不等于 ~ = 不等于 ~ = 不等于 + 字符相加 运算的优先序:!(或~ ),^,-(负号),/,*,-(减),+,!=(或~ =),>,<,<=,>=,==,&,| 当不确定优先序的时候,最好用括号将优先序直接表达出来。 5.1.1 代数运算 包括加(+)、减(-)、乘(*)、除(/),幂(^)和负数(-),当遇到缺失值或者运算不可行时(比如除数为零)均会得到缺失值。 例:求正式的值,若 x=4,y=2,显然经过心算,应该为:-1 xyyxyx . di –(4+2^(4-2))/(2*4) //di 是display 命令的略写,表示显示结果 . di 4-2 //输出2 . di 3*5 //输出15 . di 8/2 //8 除以2,输出4 . di 2^3 //2 的立方,输出8 . di –(2+3^(2-3))/sqrt(2*3) //括号运算优先,想一想,结果应为多少? 实际上,更多的情形是两个或多个变量的直接运算。比如,将进口车的价格都增加 100 元(可能是关税),而国产车不变。 . sysuse auto, clear . gen nprice=price+foreign*100 . list nprice price foreign STATA 十八讲:5 函数与运算符 中国人民大学 陈传波 chrisccb@126.com 5.1.2 字符运算 加(+)号同样可用于字符运算,当加号出现在两个字符之间时,两个字符将被连成一个字符。比如把” 我爱” “ STATA” 合并在一起,命令为: . scalar a=” 我爱” +“ STATA” //要特别注意,引号必须是半角和英文模式 . scalar list a //scalar命令将两个字符运算后的结果赋于a,然后显示a . scalar a=2 +“ 3” //注意到:字符与数值不能直接相加,显示类型不匹配 ty pe mismatch r(109); 5.1.3 关系运算 关系运算包括大于、小于、等于;不等于、不小于、不大于等多种比较关系。特别要注意到STATA 中的等于符号为“==”,是两个等号连写在一起,不同于赋值时用的单个等号“=”。 . di 3<5 //输出结果为1,意味着3 小于5 为真 . di 3>5 //输出的结果为0,意味着3 大于5 为假。 当数据中含有缺失值的时候需要...