0
  1. 创建矩阵 M= (N*50) 矩阵 m=J(N,50,.)

    既然我想改变观察超时的次数,我如何设置N=观察次数?

  2. 如何指定矩阵的每个元素,例如 M(1,2)(第 1 行第 2 列中的元素)?

  3. 如何为矩阵的每个元素赋值?例如我想将O设置为第一行全为0,即M(1,1)=M(1,2)=...M(1,50)=0?

4

2 回答 2

1
. // an (empty) dataset with 5 observations
. clear all

. set obs 5
obs was 0, now 5

. 
. // go to Mata
. mata:
------------------------------------------------- mata (type end to exit) -------------------------
: 
: // collect the number of observations
: n = st_nobs()

: 
: // create matrix M (n x 10)
: M = J(n, 10, .)

: 
: // see it:
: M
        1    2    3    4    5    6    7    8    9   10
    +---------------------------------------------------+
  1 |   .    .    .    .    .    .    .    .    .    .  |
  2 |   .    .    .    .    .    .    .    .    .    .  |
  3 |   .    .    .    .    .    .    .    .    .    .  |
  4 |   .    .    .    .    .    .    .    .    .    .  |
  5 |   .    .    .    .    .    .    .    .    .    .  |
    +---------------------------------------------------+

: 
: // fill the first row with 0s
: M[1,.] = J(1,10,0)

: 
: // See cell 1,2
: M[1,2]
  0

: 
: // see cell 2,3
: M[2,3]
  .

: end
于 2013-04-26T14:01:49.513 回答
0

创建一个 .do 文件。

只需使用任何文本编辑器,包括 Stata 的 do-file 编辑器,并使用扩展名.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 |            .             .             .             .             .  |
    +-----------------------------------------------------------------------+
于 2013-04-26T18:30:23.087 回答