2014-07-04 2 views
-3

1 행렬을 변수 또는 스칼라로 변환하는 방법은 무엇입니까? 현재 나는 두 행렬이 1 by 1이기 때문에 원칙적으로 스칼라입니다. 하나의 값 (하나씩 1 행렬)을 다른 값 (다른 1 행 1 행렬)으로 나누고 싶습니다. 나는 하나 STATA에서 요소 조작에 의해 요소를 할 것을변수 또는 스칼라를 1 행 1 열로 변환

C[`i',`j']= A[`i',`j']/B[`i',`j'] 

뭔가를 할 수 있다는 것을 읽었습니다. 이 예에서 i와 j를 반복합니다. 불행히도, 그것은 작동하지 않았다.

+0

"... 작동하지 않음"은 사람들이 정확한 문제를 해결하기에 충분한 정보가 아닙니다. –

답변

3

Stata에서 변수와 스칼라는 서로 다른 두 가지입니다. 변수는 Stata 데이터베이스의 열로 설정됩니다. 거의 항상 통계 분석의 대상이됩니다. 스칼라는 숫자 또는 문자열과 같은 표현식을 보유하는 저장소 유형입니다.

코드는 http://www.stata.com/support/faqs/data-management/element-by-element-operations-on-matrices/ 페이지에있는 것으로 보이지만 일부만 게시 할 수 있습니다. 그 부분은 로컬 매크로을 사용하지만, 아무 것도 정의하지 않는 것 같습니다. 또한 하나의 요소 만있는 행렬이있는 경우 행렬의 인덱스를 반복 할 필요가 없습니다. 그것의 유일한 요소는 [1,1] 위치에있다.

다음은 각 원소가 하나 인 두 행렬의 예입니다. 나누기가 스칼라로 저장됩니다.

clear all 
set more off 

matrix A = (1) 
matrix B = (2) 

scalar c = A[1,1]/B[1,1] 

display "scalar c is: " c 

Stata에는 "고급"행렬 기능이 필요한 경우에 대비하여 고유 한 행렬 언어 인 Mata가 있습니다.

적어도 help macro, help scalar, help matrix, help forvalueshelp mata 참조하십시오.

+0

도움이되는 답변에 감사드립니다. –