matlab - Latex变量自动化: writing variables for Latex directly from Stata and MATLAB

标签 matlab latex stata

我正在开展这个项目,该项目需要在 Stata 和 MATLAB 中分析服务器中的大型 (>50GB) 数据集。这两部分都是必需的,我不能只使用其中之一。

我的最终目标是生成一个名为 commands.tex 的 .tex 文件,如下所示:

 \newcommand{\var1}{val1}
 \newcommand{\var2}{val2}     % MATLAB file matlab_file.m on DD/MM/YYYY
 \newcommand{\var3}{val3}     % Stata file stata_file.m on DD/MM/YYYY    
 ...

其中变量按字母顺序排序,每个值很可能是一个数字。请注意,注释中的命令将帮助我跟踪我在哪里生成值。该文件的用途是,在序言之后我可以按以下方式使用 LaTeX:

 <preamble>
 \input{commands.tex}
 \begin{document}
 Variable 1 has a value of \var1 and variable 2 has a value of \var2.
 \end{document}

这样做的目的是让我可以在本地(或远程)分析样本,例如总观测值的 0.1% 或 10%,用这些样本编写报告,然后以更大的规模再次运行分析。我想完全消除复制错误号码的可能性。

我正在尝试在 MATLAB 和 Stata 中编写一些代码,但我认为这超出了我的专业知识,如果有人可以帮助我弄清楚如何做到这一点,我将非常感激。说实话,我觉得MATLAB部分我会,但Stata我不知道。

Stata代码

我想要做的是生成一个命令,该命令将名称和标量作为输入,并作为输出定义上面详述的 commands.tex 文件中的相应变量。我的目标是能够生成这样的东西:

sysuse auto
reg price weight
define_variable PriceWeight = _b[weight], format(%4.2f) 

我希望代码要做的是:

  1. 如果 \newcommand{\PriceWeight}commands.tex 中不存在,则会将其值添加到列表中,保留字母顺序.
  2. 如果变量存在,则它会删除其值并在其上方重写,并使用标量中给定的值。

我知道如何为 Stata 中的程序提供值,但我不完全知道如何使用这些值并执行必要的命令。语法类似于:

program define define_variable
   syntax anything = X, [format(string)]
   <other code>
end

注意:当然,我需要比回归系数更深入的东西,但作为一个简单的例子,这就足够了。

MATLAB 代码

这在 MATLAB 中似乎更容易,但我不知道到底如何自动化该过程。在 MATLAB 中,我希望能够做的是:

clc; clear;
PriceWeight = 3
define_variable('PriceWeight',PriceWeight,format)

再次自动转到单个文件并相应地更新它。非常感谢任何帮助。

最佳答案

根据您的评论并假设您的包含所有相关变量的文件并不大,我建议将您的数据从 Stata 获取到 Matlab,并根据需要更新您的变量(使用诸如 existstrcmp 如果您有姓名列表)。快速谷歌搜索给了我this link for Stata to Matlab .

为了便于处理,您可能需要创建一个单元格(我将其称为C),其中一列包含所有变量名称,一列包含标量值。

然后,一旦您组装了所有变量,您就可以按字母顺序对单元格进行排序,并使用 this. 将其写入文件。 。当然,您会编写一个 .tex 文件,然后使用类似的内容迭代您的单元格

fprintf(fID,'\newcommand{\%s}{%f} ',C{i,1},C{i,2})

我希望这是可以理解的并且有帮助。

关于matlab - Latex变量自动化: writing variables for Latex directly from Stata and MATLAB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45776091/

相关文章:

python - 将 matlab 翻译成 python/numpy

matlab - 在Matlab中防止 “MATLAB:unassignedOutputs”

python - Sphinx 文档,带编号的图形引用

latex 列表 : different counters for different listing environments

Stata 类型与本地宏不匹配?

matlab - 使用PCA输出通过神经网络训练角点特征

matrix - 如何使用 Nicematrix 和 TikZ 在矩阵下绘制大括号来描述我的列?

statistics - 在 Stata 中采用条件均值

time-series - 使用 Stata 在长格式中如何出现总计算之间的差异

Matlab 将字符串 "aaa"转换为 ["a", "a", "a"] 数组