【问题标题】:Stata - Max value in a matrixStata - 矩阵中的最大值
【发布时间】:2017-09-23 16:13:15
【问题描述】:

我正在寻找合适的语法来从矩阵中提取最大值并将其存储在传统 Stata .do 文件程序的局部变量中。

例如在矩阵中:

matrix X = (1,2,3 \4,5,6\7,8,9)

函数应该返回数字 9。

我查看了 Mata 手册并找到了对 Mata 的 colmaxcolminmax 函数的引用,但我似乎无法让它们工作。

【问题讨论】:

    标签: matrix stata


    【解决方案1】:

    您应该展示对代码的尝试以及发生了什么,以便就您做错的地方获得建设性的建议。

    考虑

    . 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 通常是一个更好的主意。相反,您最有可能遗漏的是严格来说本地宏是一个字符串,因此您必须将其值作为字符串返回。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-04
      • 2013-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多