如何让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在表格中报告零 的相关文章

  • Stata数据处理。如何处理删除某个公司的某个年份缺失的公司的数据

    stata处理数据 删除某个公司的某个年份缺失的公司的数据 例如 code year 1 2002 1 2003 1 2004 1 2005 2 2002 2 2003 2 2004 code有很多 不知道哪个年份缺少 如何解决 谢谢大家
  • DID模型

    政策评估 Policy Evaluation 是当前公共经济学和劳动经济学中最常用的实证方法 其目的在于评价一项既有政策的效果 此类研究关注的是该政策的处理效应 Treatment Effect 由于政策往往是对一类特定的人群起作用 政策评
  • CGSS2015问卷数据STATA重编码命令(部分)

    今天在写论文时处理的CGSS数据 保存下来以待以后用 选取城市样本 drop if s1 2 选取18 45岁的样本 drop if a301 gt 1997 drop if a301 lt 1970 计算年龄 gen nianling 2
  • 【Stata】CGSS数据清理:Codebook速成法

    对数据使用者来说 了解一个调查数据基本情况的常见途径就是查看该数据的codebook 对数据所有者 提供方来说 制作一份详细的codebook是其数据管理工作中不可或缺的一环 2016年上半年CGSS项目组把CGSS2003年到CGSS20
  • 在 R 中创建双模频率矩阵

    我有一个数据框 看起来像这样 CASENO Var1 Var2 Resp1 Resp2 1 1 0 1 1 2 0 0 0 0 3 1 1 1 1 4 1 1 0 1 5 1 0 1 0 数据集中有 400 多个变量 这只是一个例子 我需要
  • 是否有相当于 Stata 的 egen 函数? [复制]

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

    R 中的 顺序 类似于 Stata 中的 排序 例如 这是一个数据集 仅列出变量名称 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 v15 v16 v17 v18 这是我期望的输出 v1 v2
  • pandas 和 Stata 13 个文件

    我安装了 pandas 0 13 1 但是pandas read stata 无法阅读 dta以 Stata 13 格式创建的文件 出现错误 TypeError cannot concatenate str and NoneType obj
  • R:是否有与 Stata 的 codebookout 命令等效的命令?

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

    我正在尝试将 Spearman 相关矩阵导出到rtf或 Excel 文件使用estpost和社区贡献的命令esttab 但是 我收到以下错误 invalid subcommand r 198 下面是我的代码 estpost spearman
  • 如何生成相关的 Uniform[0,1] 变量

    这个问题与如何生成具有不同分布的相关变量的数据集 在 Stata 中 假设我创建一个遵循 Uniform 0 1 分布的随机变量 set seed 100 gen random1 runiform 我现在想要创建第二个随机变量 它与第一个随
  • 在Stata中,如何组合不同宽度的箱线图?

    我正在尝试组合不同大小类别的多个箱线图 这是说明问题的示例 sysuse auto graph box mpg by rep78 rows 1 name g1 replace graph box mpg by foreign rows 1
  • R 中的瓦哈卡分解 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想在 R 中进行瓦哈卡分解 它用于例如我相信 劳动经济学可以区分可解释的方差和不可解释的方差 我一直无法在 R 中找到合适的解决方案
  • 在 Stata 中进行加权热甲板插补的简单方法?

    我想在 Stata 中进行简单的加权热甲板插补 在 SAS 中 等效命令如下 请注意 这是一个较新的 SAS 功能 从 2015 年左右的 SAS STAT 14 1 开始 proc surveyimpute method hotdeck
  • R 中 Stata 的 xtlogit (fe, re) 等效项?

    Stata 允许通过以下方式指定逻辑回归的固定效应和随机效应xtlogit http www stata com manuals13 xtxtlogit pdf fe and xtlogit http www stata com manua
  • Stata 中各个图表的条形图颜色一致

    我在 Stata 中输出堆积条形图 每个堆积条形图从下到上排序 最大 gt 每个团队的最小获胜百分比 clear set obs 10 gen team yankees if inlist n 1 6 replace team red so
  • 如何在 Stata 中聚合关系数据?

    我无法解决以下 Stata 编程问题 我有一个表格 列出了客户购买的所有汽车并进行 Customer Make Price c1 m1 1 c1 m1 2 c1 m3 1 c2 m2 2 c3 我想将其转换为每个客户一个观察 行的表格 列出
  • 如何使用宏引用数据文件?

    我有各种 Stata 数据文件 它们位于不同的文件夹中 我也有一个单do使用这些文件的文件 一次一个 有没有办法使用宏来引用我的特定数据集do file 例如 local datafile C filepath mydata dta 我们的
  • 如何让Stata在表格中报告零

    我正在尝试使用tabulateStata 中的命令创建频率时间序列 当我尝试合并输出时 问题就出现了tabulate运行完每个日期后 tabulate当相关变量的值不存在观察值时 不会将 0 作为条目包含在内 例如 如果我想在三年内统计一个
  • 在 Sublime Text 3 中,我可以将 do 文件的选择发送到 Stata 吗?

    This SO question https stackoverflow com questions 18361667 is there a command line editor that highlights the stata syn

随机推荐