admin 管理员组

文章数量: 1086019


2024年4月16日发(作者:小提琴五线谱入门图解)

STATA十八讲:5函数与运算符

5函数与运算符

5.1运算符exp

STATA共有四种运算,分别是代数运算、字符运算、关系运算和逻辑运算。

运算符一览表

代数运算

+

-

*

/

^

sqrt()

~=

+

指数

开方

不等于

字符相加

~

|

&

逻辑运算

>

<

>=

<=

==

!=

~=

比较关系

大于

小于

不小于

不大于

等于

不等于

不等于

运算的优先序:!(或~),^,-(负号),/,*,-(减),+,!=(或~=),>,<,<=,>=,==,&,|

当不确定优先序的时候,最好用括号将优先序直接表达出来。

5.1.1代数运算

包括加(+)、减(-)、乘(*)、除(/),幂(^)和负数(-),当遇到缺失值或者运算不可行时

(比如除数为零)均会得到缺失值。

例:求正式的值,若x=4,y=2,显然经过心算,应该为:-1

. 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) //括号运算优先,想一想,结果应为多少?

中国人民大学 陈传波

STATA十八讲:5函数与运算符

实际上,更多的情形是两个或多个变量的直接运算。比如,将进口车的价格都增加100元(可

能是关税),而国产车不变。

. sysuse auto, clear

. gen nprice=price+foreign*100

. list nprice price foreign

5.1.2字符运算

加(+)号同样可用于字符运算,当加号出现在两个字符之间时,两个字符将被连成一个字符。

比如把”我爱” “STATA”合并在一起,命令为:

. scalar a=”我爱” +“STATA” //要特别注意,引号必须是半角和英文模式

. scalar list a //scalar命令将两个字符运算后的结果赋于a,然后显示a

. scalar a=2 +“3” //注意到:字符与数值不能直接相加,显示类型不匹配

type mismatch

r(109);

5.1.3关系运算

关系运算包括大于、小于、等于;不等于、不小于、不大于等多种比较关系。特别要注意到

STATA中的等于符号为“==”,是两个等号连写在一起,不同于赋值时用的单个等号“=”。

. di 3<5 //输出结果为1,意味着3小于5为真

. di 3>5 //输出的结果为0,意味着3大于5为假。

当数据中含有缺失值的时候需要特别小心,因为系统缺失值大于任何一个数据,利用这一点,

我们可以使用条件语句排除缺失值。

任务:将年龄分组为65岁以下和65岁及以上两组,缺失值显然不能包括在任何一组中。

age

38

.

65

42

18

80

. clear

. edit

将上述数据复制到STATA中,然后退出数据编辑器。

. gen agegrp1=(age>=65)

中国人民大学 陈传波


本文标签: 运算 缺失 字符 结果 数据