Matrix Stata矩阵创建赋值
创建矩阵M=(N*50) 矩阵m=J(N,50,) 由于我想更改观察超时的次数,如何设置N=观察次数Matrix Stata矩阵创建赋值,matrix,stata,Matrix,Stata,创建矩阵M=(N*50) 矩阵m=J(N,50,) 由于我想更改观察超时的次数,如何设置N=观察次数 如何指定矩阵的每个元素,例如M(1,2)(第1行第2列中的元素) 如何为矩阵的每个元素赋值?例如,我想将第一行的O全部设置为0,即M(1,1)=M(1,2)=…M(1,50)=0 创建一个.do文件 只需使用任何文本编辑器,包括Stata的do文件编辑器,并使用扩展名.do保存即可 相同的随机法线在一行中偏离。这里有一个方法: : m = J(5,5, .) : m[1,] = J(1, 5,
.do
保存即可
相同的随机法线在一行中偏离。这里有一个方法:
: m = J(5,5, .)
: m[1,] = J(1, 5, rnormal(1,1,0,1))
: m
1 2 3 4 5
+-----------------------------------------------------------------------+
1 | 2.285713101 2.285713101 2.285713101 2.285713101 2.285713101 |
2 | . . . . . |
3 | . . . . . |
4 | . . . . . |
5 | . . . . . |
+-----------------------------------------------------------------------+
天才!非常感谢!我觉得Stata是不可原谅的,例如,如果我打错了,我就无法撤销。我必须清除并重新启动一切。有解决办法吗?例如,设置obs 5 mata:n=st_nobs()M=J(n,10,.)M[1,]=J(1,9,0)r(3200)M=J(n,10,.)r199意味着我必须清除并重新启动……我不明白这是如何迫使您重新启动的。这样的错误会将您从Mata踢到Stata,但您可以重新启动Mata,并且您创建的元素仍将存在。但是,始终使用.do文件是一种很好的做法。这样,您就可以修复.do文件并重新完整地运行它,这样您就不必依赖在错误运行后留下的东西。这将导致更稳定的代码。仔细想想,这正是我所做的。我在一个.do文件中编写了这个示例,犯了一些错误(我试图显示
m
而不是m
),当我试图运行它时,我看到Stata抱怨,我修复了.do文件,然后再次运行它。这是没有必要的,我可以打开Mata并键入M
来查看矩阵并继续从那里构建示例。通过更改.do文件,我确保如果您运行该示例,不会留下未检测到的错误。有意义!再次感谢。:)我已经搜索了用户指南。但仍有一些疑问。1.如何创建和保存.do文件?只有在创建变量后,才能保存.dta文件。2.如果我想在整行或矩阵的特定元素中生成一个数~N(a,b),该怎么办?没有M[1,.]=M(1,10,r正常(a,b))这样的东西。您在Stata中键入了search do
?谢谢。跟进。1.R正常(a,b,平均值,sd)?a和b分别是什么?2.rnormal中这4个元素中的任何一个都可以是标量或变量吗?3.同一行不同的号码怎么样?例如,使用foreach循环在同一行中生成不同的数字可能吗?如果你是Joey,我是Nick。那友好的姿态放在一边,对不起,你问我的问题太多了。每个人的时间和利他主义都是有限的。你只需要养成阅读帮助和实验的习惯。对不起,尼克。感谢您的及时回复和建议。:)键入Statahelp mata rnormal()
: m = J(5,5, .)
: m[1,] = J(1, 5, rnormal(1,1,0,1))
: m
1 2 3 4 5
+-----------------------------------------------------------------------+
1 | 2.285713101 2.285713101 2.285713101 2.285713101 2.285713101 |
2 | . . . . . |
3 | . . . . . |
4 | . . . . . |
5 | . . . . . |
+-----------------------------------------------------------------------+