Stata的矩阵技能你经常用吗?
目 前处理矩阵的软件有很多,但是对于我们这些热衷于的stata的粉S来说就比较困扰,因为我们处理的数据都是stata格式,当然我们就希望stata可 以帮助我们解决矩阵,通常我们都使用stata中mata来处理矩阵,但是大家往往忽略stata自身矩阵特性,接下来就让小编带大家了解stata内矩 阵的奇幻世界。介绍矩阵处理方式之前先给读者科普一下矩阵,矩阵是由 m × n 个数aij排成的m行n列的数表称为m行n列的矩阵,简称m × n矩阵。记作:
这m×n 个数称为矩阵A的元素,简称为元,数aij位于矩阵A的第i行第j列,称为矩阵A的(i,j)元,以数 aij为(i,j)元的矩阵可记为(aij)或(aij)m × n,m×n矩阵A也记作Amn。
而且矩阵也应用在统计学、计量经济学以及物理学等多个领域。
本次推文主要从stata矩阵的读入、运算、转换等方面,让读者对stata矩阵有更进一步认识。
一、矩阵的读入
生成矩阵其包含两种类型:直接录入矩阵、生成特定类型矩阵
1、直接录入矩阵
mat X = (2,6,1\3,10,12\2,9,5) //逗号表示每一列,\表示每一行的分隔符
mat list X //矩阵的输出
2、特定类型矩阵
生成单位矩阵I(n)函数,其中n表示阶数
mat a=I(3)
mat list a
生成特定行列(m,n)的矩阵且元素均为k,其函数形式为J(m,n,k)
mat b=J(2,3,4)
mat list b
生成对角矩阵
mat c=(1,2,3)
mat C=diag(c) //以c中元素为对角元素利用diag函数生成对角矩阵
mat list C
二、矩阵的运算
矩阵的运算方式包含两种:矩阵的四则运算、常用矩阵函数
1、矩阵的四则运算
以矩阵相乘和直乘为例
mat d=(1,2,3\4,5,6\2,9,5)
mat list d
mat d1=d*d //矩阵相乘
mat list d1
mat d2=d#d //矩阵直乘
mat list d2
2、常用矩阵函数
矩阵函数使用方式以det()和vecdiag()函数为例
mat d=(1,2,3\4,5,6\2,9,5)
scalar e=det(d) // e是一个标量所以使用scalar定义
scalar list e
mat f=vecdiag(d) //f是个行向量故使用matrix定义
mat list f
stata中还用很多矩阵函数,读者可以使用help matrix function寻找自己所需要的函数。
三、数据转换矩阵和矩阵转换数据
1、数据转换矩阵主要调用mkmat命令将数据放到列向量内
一组数据的转换
sysuse auto,clear //调用系统数据
keep in 1/6 //以前六行数据为例
mkmat mpg //将mpg数据转换为一列矩阵
mat list mpg
多组数据的转换
mkmat foreign weight displacement ,mat(x) //转换为多列矩阵
mat list x
2、矩阵转换为数据主要调用svmat命令
svmat x,names(x)
然后对x1 x2 x3进行rename即可。
由此我们可以发现,stata对于矩阵的处理也是有一定实力的,而且小编希望通过以上矩阵表述,能对想使用stata中矩阵的读者们有所帮助。
以上就是今天给大家分享的关于矩阵的内容了,说得好就赏个铜板呗!有钱的捧个钱场,有人的捧个人场~,点赞打赏随您心意,么么哒~
应广大粉丝要求,爬虫俱乐部的推文公众号打赏功能可以开发票啦,累计打赏超过1000元我们即可给您开具发票,发票类别为“咨询费”。用心做事,只为做您更贴心的小爬虫。第一批发票已经寄到各位小主的手中,大家快来给小爬虫打赏呀~
编辑 by 徐苾雯
往期推文推荐:
7.爬虫俱乐部周末送大礼——chinagcode提取中文地址经纬度
10.I have a Stata, I have a python
关于我们
微信公众号“爬虫俱乐部”分享实用的stata命令,欢迎转载、打赏。爬虫俱乐部是由李春涛教授领导下的研究生及本科生组成的大数据分析和数据挖掘团队。
此外,欢迎大家踊跃投稿,介绍一些关于stata的数据处理和分析技巧。
欢迎关注爬虫俱乐部
微信扫一扫
关注该公众号