添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

原标题:有问必答——矩阵点除

前几天,有粉丝向我们提问矩阵点除的问题,今天悉心的小编就为大家介绍如何在Stata中实现矩阵点除,即矩阵的元素与元素之间的除法。需要注意的是该运算要求参与运算的矩阵必须是矩阵与同行同列的矩阵或者矩阵与同行向量或者矩阵与同列向量。

在Stata中实现矩阵的元素与元素之间的除法,我们首先想到的是用循环。

首先,我们生成一个矩阵A和一个行向量B,其中A矩阵是3行5列,B向量是5列,然后做点除:

matrix A=(5,1,2,3,6 3,1,8,6,2 1,2,3,9,8)matrix B= (1,2,3,4,5)matrix C1 = J(3,5,0) //生成一个零矩阵,用于储存新生成的矩阵forvalues i = 1/3 { forvalues j = 1/5 { matrix C1[`i',`j']= A[`i',`j']/B[1,`j'] }}matrix list C1

结果如下:

可以看到,我们实现了矩阵A每一列的元素分别除以向量B所对应的元素,得到了矩阵C1。

其次,我们也可以实现矩阵与同列向量之间的点除,操作如下:

matrix D=(123)matrix C2 = J(3,5,0)forvalues i = 1/3 { forvalues j = 1/5 { matrix C2[`i',`j']= A[`i',`j']/D[`i',1] }}matrix list C2

结果如下:

同样可以看到,我们实现了矩阵A每一行的元素分别除以向量D所对应的元素,得到了矩阵C2。

最后,我们还可以实现同行列矩阵间的点除。操作如下:

matrix E=( 1 , 2 , 3 , 4 , 5 5 , 4 , 3 , 2 , 1 4 , 4 , 3 , 2 , 1 )matrix list Ematrix C3 = J( 3 , 5 , 0 )forvalues i = 1 / 3 { forvalues j = 1 / 5 { matrix C3[`i ',`j' ]= A[`i ',`j' ]/E[`i ',`j' ] }}matrix list C3

结果如下:

我们同样实现了矩阵A每一行每一列的元素分别除以矩阵E所对应的元素,得到了矩阵C3。

我们注意到上述操作虽然实现了矩阵点除,但是命令语句冗长繁琐。此外,在之前介绍Mata中相关操作的时候,我们就说过Stata在使用矩阵时会占用大量的内存,很多大数据不能利用传统的Stata矩阵命令进行处理,一般是在Mata中进行处理。

《矩阵在Mata中的输入和运算》 介绍冒号运算符时,我们就提到过Mata中的矩阵点除。那么,这里我们继续在Mata中使用冒号运算符实现矩阵的点除。

首先,同样生成3行5列的矩阵A和同列数的向量B进行点除:

mata A=( 5 , 1 , 2 , 3 , 6 3 , 1 , 8 , 6 , 2 1 , 2 , 3 , 9 , 8 ) B= ( 1 , 2 , 3 , 4 , 5 ) C1 = A :/ B C1end

得到结果:

接着,我们生成一个同行数的向量D,与矩阵A做点除:

mata D=( 1 2 3 ) C2 = A :/D C2end

得到结果:

最后,生成一个同行数同列数的矩阵E,与矩阵A做点除:

mata E= ( 1 , 2 , 3 , 4 , 5 5 , 4 , 3 , 2 , 1 4 , 4 , 3 , 2 , 1 ) C3 = A :/ E C3end

可以发现:上述3个结果与Stata中的点除结果是一样的。不过,在Mata中的矩阵运算命令明显比在Stata中的要简单的多,大家学会了吗?

注:此推文中的图片及封面(除操作部分的)均来源于网络!如有雷同,纯属巧合! 以上就是今天给大家分享的内容了,说得好就赏个铜板呗!有钱的捧个钱场,有人的捧个人场~。

-文字编辑:吴晓蔓-

-技术总编:刘贝贝-

微信公众号“爬虫俱乐部”分享实用的stata命令,欢迎转载、打赏。爬虫俱乐部是由李春涛教授领导下的研究生及本科生组成的大数据分析和数据挖掘团队。

投稿要求:

1)必须原创,禁止抄袭;

2)必须准确,详细,有例子,有截图;

注意事项:

1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里为作者署名,并有赏金分成。

2)邮件请注明投稿,邮件名称为“投稿”+“推文名称”。

3)应广大读者要求,现开通有偿问答服务,如果大家遇到关于stata分析数据的问题,可以在公众号中提出,只需支付少量赏金,我们会在后期的推文里给予解答。 返回搜狐,查看更多

责任编辑:

声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。