0
我正在尋找合適的語法,用於從矩陣中提取最大值並將其存儲在傳統Stata .do文件程序的局部變量中。Stata - 矩陣中的最大值
例如,在下面的矩陣:
matrix X = (1,2,3 \4,5,6\7,8,9)
函數應該返回9.
我都對着馬塔手冊,發現參考用於馬塔的colmax
,colmin
和max
功能的數量,但我似乎無法讓他們工作。
我正在尋找合適的語法,用於從矩陣中提取最大值並將其存儲在傳統Stata .do文件程序的局部變量中。Stata - 矩陣中的最大值
例如,在下面的矩陣:
matrix X = (1,2,3 \4,5,6\7,8,9)
函數應該返回9.
我都對着馬塔手冊,發現參考用於馬塔的colmax
,colmin
和max
功能的數量,但我似乎無法讓他們工作。
你應該在代碼中展示嘗試,以及在你做錯了什麼時得到建設性的建議。
考慮
. mata: max((1,2\3,4))
4
. mat x = (1,2\3,4)
. mata : max(st_matrix("x"))
4
. mata: st_local("max", strofreal(max(st_matrix("x"))))
. di `max'
4
術語 「局部變量」 是格格不入的Stata;變量是數據集中唯一的變量(列)。標準術語是「本地宏」。自然地,在許多其他語言中,這樣的實體將被視爲變量。
將最大值傳遞迴Stata作爲數字標量通常是一個更好的主意。相反,你最可能遺漏的是嚴格地說,本地宏是一個字符串,所以你必須以字符串形式返回它的值。