问题描述
我正在使用Stata模拟pga锦标赛。我的模拟结果表包括:
第1栏:比赛中30名选手的名字 第2-30,001栏:我的蒙特卡罗模拟的第4轮结果。
我要做的是创建一个30 x 30矩阵,其中高尔夫球手的名字作为第1列,并且在各列名称之间,每个单元格代表30,000次模拟中高尔夫球手A击败高尔夫球手B的次数的百分比。这在Stata中可以做到吗?谢谢
解决方法
我倾向于说所有语言在所有编程语言中总是可以实现的,但是与其他语言相比,在某些语言中要做的事情要困难得多。我认为Stata并不是您打算做的好工具。
您需要为我们提供一些代码示例,以帮助您完成任务,但是我只能说一句话。 Stata有两种编程语言。一个通常称为Stata(但在Stata Corps网站上称为ado
),另一个通常称为Mata
。如果出于某种原因需要使用Stata软件,则应使用Mata
语言,该语言的矩阵运算符比ado
多。在ado
中,您不能将文本存储在矩阵中,因此,如果要存储高尔夫球手的姓名,则需要使用Mata
,但是您也可以使用行和列的索引来跟踪高尔夫球手。
话虽如此,Stata主要是用于进行操作和分析加载到内存中的单个数据集的工具(最近已添加了对多个数据集的支持)。因此,要回答您的问题,是的,可以在Stata中完成 ,但是用支持多维数组/向量的语言来完成此操作可能会更好。例如,R或Python。