运算符
| 类型 | 符号 | 说明 |
|---|---|---|
| 算术运算 | 乘方 | |
| 乘 | ||
| 除 | ||
| 加 | ||
| 减 | ||
| 字符运算 | 连接字符 | |
| 复制字符 | ||
| 关系运算 | 等于 | |
| 或 | 不等于 | |
| 大于 | ||
| 小于 | ||
| 大于等于 | ||
| 小于等于 | ||
| 逻辑运算 | 与 | |
| | | 或 | |
| 或 | 否 |
运算符的优先级
true & false
数学函数、概率分布与密度函数、随机数字函数、字符函数、时间函数、时间序列函数、矩阵运算函数、三角函数和用于程序编写的函数
可以使用help functions查看这些函数
常用数学函数
| function | description | function | description |
|---|---|---|---|
| abs() | 绝对值 | max() | 中的最大值 |
| exp() | 自然指数 | min() | 中的最小值 |
| int() | 取整数 | round() | 四舍五入到整数 |
| ln()/log() | 自然对数 | round(x, y) | 对 四舍五入到 的单位 |
| log10() | 以10为底的对数 | sqrt() | 平方根 |
| logit() | mod(x,y) | 的余数 |
常用字符函数
| function | description |
|---|---|
| real(s) | 将字符串s转换为数字 |
| string(n) | 将数字n转换为字符串 |
| strlen(s) | 字符串s的长度 |
| strlower(s) | 大写转小写 |
| strupper(s) | 小写转大写 |
| stritrim(s) | 将字符串s中连续多个空格压缩为1个 |
| strltrim(s) | 去掉字符串s中位于开头的所有空格 |
| strrtrim(s) | 去掉字符串s中位于结尾的所有空格 |
| strtrim(s) | 去掉字符串s中位于开头和结尾的所有空格 |
| substr(s,n1,n2) | 从第n1位开始截取字符串s的n2个字符 |
| word(s,n) | 字符串s中的第n个单词 |
| split(s) | 将字符串s拆分成多个字符型变量,parse()制定分隔符 |
常用概论分布与密度函数
| function | description |
|---|---|
| chi2(df,x) | 自由度为df的卡方分布的累积分布函数 |
| chi2tail(df,x) | chi2tail(df,x)=1-chi2(df,x) |
| invchi2(df,p) | chi2(df,x)的反函数 |
| invchi2tail(df,p) | chi2tail(df,x)的反函数 |
| F(df1,df2,f) | 自由度为df1和df2的F分布的累积分布函数 |
| Ftail(df1,df2,f) | Ftail(df1,df2,f)=1-F(df1,df2,f) |
| invF(df1,df2,p) | F(df1,df2,f)的反函数 |
| invFtail(df1,df2,f) | Ftail(df1,df2,f)的反函数 |
| normal(z) | 标准正态分布的累积分布函数 |
| invnormal§ | normal(z)的反函数 |
| ttail(df,t) | 自由度为df的T分布的累积分布函数 |
| invttail(df,p) | ttail(df,t)的反函数 |
其他常用函数
| function | description |
|---|---|
| uniform() | 生成数值在[0,1)间均匀分布的随机数字 |
| invnormal(uniform()) | 生成标准正态分布的随机数字 |
| rnormal() | 生成标准正态分布的随机数字 |
| autocode(x, n, x0, x1) | 将变量从至自动分为等间距的n组 |
| recode(x, x1, x2, …, xn) | 对变量以为分割点分组 |
| group(n) | 将排序变量分为规模相等的n组 |
generate能使用任何已有变量、常数、随机取值和表达式的任意组合来创建新变量,replace则能以同样方式对已有变量替换新的取值。
Syntax
generate [type] newvar[:lblname] =exp [if] [in] [, before(varname) | after(varname)]
replace oldvar =exp [if] [in] [, nopromote]
Syntax
egen [type] newvar = fcn(arguments) [if] [in] [, options]egen使用的函数可实现两种计算
egen meaninc=mean(income)egen incdiff=diff(inc1 inc2)with by
webuse egenxmpl2, clear
describe
by dcode, sort: egen medstay = median(los)
generate deltalos = los - medstay