小白积累本:stata矩阵计算初级操作的汇总(更新ing) | 您所在的位置:网站首页 › stata命令scalar › 小白积累本:stata矩阵计算初级操作的汇总(更新ing) |
设置系统能容纳的矩阵大小(有时stata不能容纳已有的矩阵,无法运算) set matsize 11000 诸如此类还有 set seed 10101 Set obs 1000 创建矩阵: Mat A=[1,2,3\4,5,6] —————————中括号改成括号也一样 mkmat X1 X2 X3, matrix(A) matrix x2=X’*X matrix define B=I(k/2) ————————创建k/2维的e矩阵 显示矩阵: mat list A 创建对角矩阵 mat v=(1,2,3) mat D=diag(v) 提取矩阵的对角元素为一列向量 matrix diag=vecdiag(A) 创建逆矩阵 mat D= invsym(D) ————————可以重复创建矩阵,不像变量要replace 矩阵转置 A➡️A’ scalar和gen的区别 scalar是定义一个标量,不是变量,在变量列表中没有显示。而gen定义的一个变量,在变量列表中有显示,但如果需要赋值,需要 set obs 1,这样在数据编辑器里面才能看到数值。 所有行的数量 scalar n=_N ————————data集的所有行数 scalar m=rowsof(y) ————————某个矩阵的行数 删除数据行 drop in 1/n ————————————表示删除前n行 drop in n 删除第n行 柯列斯基分解 matrix R = cholesky(S),则RR^T = S 把文本转化为时间格式 gen day=date(trddt,"YMD”)——————仅这样是转化为stata可辨识的数字 format day %dCY-N-D—————————上面的加上这行是转化为时间格式的年月日 Dta文件导出为excel save price.dta, replace export excel using price 删除重复行 duplicates drop 把红色数字(文本不识别)转化为数值格式 destring GDP增速,force replace 高版本stata不显示各变量的注释: unicode analyze.dta unicode encoding set “GB18030” unicode retranslate class6.dta, transutf8 global 一些计算函数 exp() log() log10() sqrt() 平方根 abs() 哈达玛积 就是m x n矩阵A = [aij]与矩阵B = [bij]的Hadamard积,记为A * B 。新矩阵元素定义为矩阵A、B对应元素的乘积(A * B)ij = aij*bij 例如:matrix t=hadamard(b, seinv) 画图 Twoway scatter y x ——散点图 Twoway line y x ——折线图 twoway connected y x——带数据标记的折线图(点连起来的散点图) twoway dropline le year ——垂直线图 twoway lowess le year ——lowess图(局部加权回归图,平滑价格曲线) twoway spike le year ——脉冲图(类似很多很细的条形图) 提取矩阵中的某一列或某一行,或某几列几行的交叉区域 X[1…2,3…4]即x的“第1行到第2行、第3列到第4列”(交集)的所有元素形成的矩阵。 若"…“后面仍为”.",则其表示“(到)最后一行(列)”。 两重forval循环 forval i = 1/3 { forval j = 1/=i’-1’ { //循环中暂元的计算要加上“=” |
CopyRight 2018-2019 实验室设备网 版权所有 |