如何让Stata在表格中报告零

2024-04-15

我正在尝试使用tabulateStata 中的命令创建频率时间序列。当我尝试合并输出时,问题就出现了tabulate运行完每个日期后。tabulate当相关变量的值不存在观察值时,不会将 0 作为条目包含在内。例如,如果我想在三年内统计一个班级中 10、11 和 12 岁的学生,如果仅其中一组有代表,那么 Stata 可能会输出 (8),因此我们不知道哪一组是 8 名学生学生属于:可以是 (0,8,0) 或 (0,0,8)。

如果时间序列很短,这不是问题,因为“结果”窗口显示了哪些类别被代表或没有被代表。我的数据有更长的时间序列。有谁知道强制 Stata 在这些表格中包含零的解决方案/方法?我的代码的相关部分如下:

# delimit;
set more off;
clear;
matrix drop _all;
set mem 1200m;
cd ;
global InputFile "/Users/.../1973-2010.dta";
global OutputFile "/Users/.../results.txt";

use $InputFile;
compress;

log using "/Users/.../log.txt", append;

gen yr_mn = ym(year(datadate), month(datadate));
la var yr_mn "Year-Month Date"

xtset, clear;
xtset id datadate, monthly;

/*Converting the Ratings Scale to Numeric*/;
gen LT_num = .;
replace LT_num = 1 if splticrm=="AAA";
replace LT_num = 2 if (splticrm=="AA"||splticrm=="AA+"||splticrm=="AA-");
replace LT_num = 3 if (splticrm=="A"||splticrm=="A+"||splticrm=="A-");
replace LT_num = 4 if (splticrm=="BBB"||splticrm=="BBB+"||splticrm=="BBB-");
replace LT_num = 5 if (splticrm=="BB"||splticrm=="BB+"||splticrm=="BB-");
replace LT_num = 6 if (splticrm=="B"||splticrm=="B+"||splticrm=="B-");
replace LT_num = 7 if (splticrm=="CCC"||splticrm=="CCC+"||splticrm=="CCC-");
replace LT_num = 8 if (splticrm=="CC");
replace LT_num = 9 if (splticrm=="SD");
replace LT_num = 10 if (splticrm=="D");

summarize(yr_mn);
local start = r(min);
local finish = r(max);

forv x = `start'/`finish' {;
    qui tab LT_num if yr_mn == `x', matcell(freq_`x');
};

log close;

你想要的不是一个选项tab命令。如果您想将结果显示到屏幕上,您可以使用table ..., missing成功地。

除了循环之外,您还可以尝试以下方法,我认为这将适合您的目的:

preserve
gen n = 1  // (n could be a variable that indicates if you want to include the row or not; or just something that never ==.)
collapse (count) n , by(LT_num yr_mn)
reshape wide n, i(yr_mn) j(LT_num)
mkmat _all , matrix(mymatname) 
restore
mat list mymatname

我认为这就是你想要的(但无法告诉你如何使用你试图生成的矩阵)。

附:我更喜欢使用inlist函数用于类似的事情:

replace LT_num = 2 if inlist(splticrm,"AA","AA+","AA-")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何让Stata在表格中报告零 的相关文章

  • 样本选择模型 & 处理效应模型

    一 样本选择偏差与自选择偏差 样本选择偏差 样本选择偏差的非随机选择机制在于对样本的选择不随机 在样本数据的采集过程中 只对某部分群体进行调查 但这部分群体与其他群体在某些方面的特征差异较大 因此根据这样的样本做回归得到的普适性结论并不可信
  • 机制检验、异质性检验、调节效应

    目录 基准回归 稳健性检验 内生性处理 机制检验 机制分析模型 调整要素配置结构 机制分析模型 生产率提升效应 异质性检验 1 企业规模 2 企业注册地 调节效应 假设3后半部分 1 人力资本 2 市场化环境 本文是对王林辉老师的论文 工业
  • STATA:缩尾、截尾的概念和命令

  • stata 数据处理

    目录 按类别求均值 然后创建一个新的变量 缩尾处理 日期处理 连续变量处理成虚拟变量 按条件删除数据 按类别求均值 然后创建一个新的变量 bysort year industry egen meanvariable mean variabl
  • stata 线性回归分析基本操作

    一 线性回归基本命令 regress y x1 x2 红色表示该命令可简写为红色部分 以 Nerlove 数据为例 数据附后文 regress lntc lnq lnpf lnpk lnpl 表上半部分为方差分析表 包括回归平方和 残差平方
  • stata如何看某个命令的options?即逗号后面可以加上哪些命令

    以codebook这一命令为例 在命令窗口输入 help codebook 则会出现以下内容
  • 如何解决stata数据管理器中变量变红的问题

    目标 解决open变量变红的问题 网上说可以通过以下代码解决 实际上是缘木求鱼 encode encode 红色数字的变量名 gen 新产生的变量名 自己尝试用这个代码之后 发现对应变量不是红色了 但变成了蓝色 我开始以为问题已经解决了 但
  • Stata有类似Java的try and catch机制吗?

    我正在写一个 do检查一些变量是否存在 dta文件以及检查这些变量的某些值是否存在 但是 我的代码在遇到无效的变量名称时停止执行 我知道我混合了 Java 和 Stata 编码 这是完全不合适的 但是有什么办法我可以做这样的事情 try s
  • 将数组或 DataFrame 与其他信息一起保存在文件中

    统计软件Stata允许将短文本片段保存在数据集中 这是通过使用以下方法完成的notes and or characteristics 这是一个对我来说非常有价值的功能 因为它允许我保存各种信息 从提醒和待办事项列表到有关如何生成数据的信息
  • 是否有相当于 Stata 的 egen 函数? [复制]

    这个问题在这里已经有答案了 Stata 有一个非常好的命令 egen 这使得计算观察组的统计数据变得容易 例如 可以计算每个组的最大值 平均值和最小值 并将它们作为变量添加到详细数据集中 Stata 命令是一行代码 by group ege
  • R:是否有与 Stata 的 codebookout 命令等效的命令?

    在 Stata 中我可以使用codebookout命令创建一个 Excel 工作簿 保存现有数据集中所有变量的名称 标签和存储类型及其相应的值和值标签 我想在 R 中找到一个等效的函数 到目前为止 我遇到过memisc库有一个名为codeb
  • 如何导出 Spearman 相关性

    我正在尝试将 Spearman 相关矩阵导出到rtf或 Excel 文件使用estpost和社区贡献的命令esttab 但是 我收到以下错误 invalid subcommand r 198 下面是我的代码 estpost spearman
  • 使用Python匹配Stata加权xtile命令的最终方法?

    对于一个项目 我需要复制 Stata 输出文件 dta 中当前存在的一些结果 这些结果是根据较旧的 Stata 脚本计算得出的 新版本的项目需要用Python编写 我遇到困难的具体部分是根据 Stata 的加权版本匹配分位数断点计算xtil
  • 如何生成相关的 Uniform[0,1] 变量

    这个问题与如何生成具有不同分布的相关变量的数据集 在 Stata 中 假设我创建一个遵循 Uniform 0 1 分布的随机变量 set seed 100 gen random1 runiform 我现在想要创建第二个随机变量 它与第一个随
  • R 中的瓦哈卡分解 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想在 R 中进行瓦哈卡分解 它用于例如我相信 劳动经济学可以区分可解释的方差和不可解释的方差 我一直无法在 R 中找到合适的解决方案
  • 循环嵌套循环(在 R 或 Stata 中)

    我有一个 60 维的嵌套循环 即我将 60 个循环相互嵌套 在 Stata 中 MWE 如下所示 forvalues i 1 60 forvalues j 1 60 forvalues k 1 60 forvalues l 1 60 ima
  • 在 Stata 中进行加权热甲板插补的简单方法?

    我想在 Stata 中进行简单的加权热甲板插补 在 SAS 中 等效命令如下 请注意 这是一个较新的 SAS 功能 从 2015 年左右的 SAS STAT 14 1 开始 proc surveyimpute method hotdeck
  • 如何标记扩展宏(local :dir )?

    我知道我的标题令人困惑 因为tokenize命令被指定为一个字符串 我有许多文件夹 其中包含大量 独立的 命名不当的 Excel 文件 其中大部分是从网站上抓取的 手动选择不方便 需要依赖Stata扩展宏功能local dir阅读它们 我的
  • 关于如何为 Pygments 编写词法分析器的大量文档? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我有一本字典Stata http stata com 关键字和 Stata 语法的合理知识 我想花几个
  • 在双边案例交叉设计中创建控制日期

    我计划研究空气污染对急诊室就诊的影响 并打算使用双边病例交叉设计 对于每个病例 医院就诊 我想创建 4 个控制日期 就诊前后 7 天和 14 天 例如 如果一个人于 2012 年 9 月 10 日访问诊所 我的控制日期将为 8 月 27 日

随机推荐