2012-04-27 2 views

ответ

2

Вы правы, что кажется, нет простого способа сделать это, в основном языке STATA в. Но все являются, что просто в Mata, Stata's matrix programming language, который был введен в версии 9 Stata в 2005 году и ведет себя больше как Matlab:

. mata 
--------------------------------- mata (type end to exit) ----------------------------- 
: A=(1, 2 \ 3, 4) 

: A 
     1 2 
    +---------+ 
    1 | 1 2 | 
    2 | 3 4 | 
    +---------+ 

: log(A) 
       1    2 
    +-----------------------------+ 
    1 |   0 .6931471806 | 
    2 | 1.098612289 1.386294361 | 
    +-----------------------------+ 
+0

Спасибо. Это здорово, но как я могу манипулировать матрицей, которую я создал внутри stata, но вне mata. Мата не распознает матрицу, которую я хочу манипулировать. – ben

+1

'matamatrix = st_matrix (" statamatrix ")' – onestop

+0

Спасибо, и, наконец, как мне затем вызвать измененную матрицу в stata после закрытия mata? – ben

2

Это проще, чем подразумеваемые с matmap от SSC. Установите с помощью ssc inst matmap.

. matmap A A, map(ln(@)) 

Здесь @ заменяется каждым установленным матричным элементом. В примере A A инструктирует заменить существующее, в то время как A B создаст или заменит другую матрицу.

Смежные вопросы