标签: stata

检查Stata中变量是否存在

我正在寻找一种方法来检查 Stata 数据集中是否存在变量,如果不存在,则在循环中重复检查变量名称,直到找到存在的变量为止。我知道对类似问题的其他答复涉及confirm并依赖于测试 的价值_rc

但是,如果您尝试重复使用这些方法,则循环的任何给定迭代中的值_rc只能说明在任何先前的迭代中是否至少存在一个错误。我希望继续测试,直到没有错误为止,但是每当第一次尝试导致错误时,就无法判断第二次尝试是否也会导致错误,因为_rc无论如何都保持不变(假设所有错误报告相同的代码) 。有没有办法手动重置_rc为零,或者以不涉及的不太特别的方式测试变量的存在_rc

loops stata

1
推荐指数
1
解决办法
1万
查看次数

Stata:检索宏中的变量标签

我正在使用 do 文件生成多个变量的图表,我希望能够检索变量标签(以便我可以将其用作图表标题)。

在我的梦里,有类似这样的事情:

sysuse auto, replace
local pricelabel = varlab(price)
display "Label for price variable is `pricelabel'"
Run Code Online (Sandbox Code Playgroud)

这将(在我的梦想中)产生:

Label for price variable is Price
Run Code Online (Sandbox Code Playgroud)

我查看了描述、总结以及标签部分的文档,但似乎找不到解决方案。

variables label stata

1
推荐指数
1
解决办法
5400
查看次数

dplyr::summarise 的排序输出

我的数据如下所示:

(sassign是保存数据的data.frame)

head(sassign %>% select(child,youth,cook,do_it))
  child youth cook do_it
1     3     2    2     0
2     0     1    0     1
3     0     0    2     0
4     0     0    0     0
5     0     0    1     0
6     0     1    0     0
Run Code Online (Sandbox Code Playgroud)

我的目标是找到购买儿童书籍、青少年书籍、烹饪书籍和动手书籍的总人数。

所以,这就是我所做的:

sassign %>%  summarise( sumchild=sum(child),sumyouth=sum(youth),sumcook=sum(cook),sumdo_it=sum(do_it)) 
Run Code Online (Sandbox Code Playgroud)

这是我得到的输出:

  sumchild sumyouth sumcook sumdo_it
1    42723    19549   46830    23153
Run Code Online (Sandbox Code Playgroud)

问题 1:: 这解决了我的目的,但是我是否可以获得按列排序的输出?这是我从 Stata 得到的:

    --------------------------------------------------------------
    | Total Std. Err. [95% Conf. Interval]
    -------------+------------------------------------------------
    cook | 46830 265.0706 46310.46 47349.54 
   child | 42723 250.4739 42232.07 …
Run Code Online (Sandbox Code Playgroud)

sorting r stata dplyr

1
推荐指数
1
解决办法
1万
查看次数

ivregress 的第一阶段系数和 R2 的出版式输出

我在 Stata 中运行以下命令:

eststo: ivregress 2sls y (x=z)  control  [aw=weight], cluster(cluster) first 
esttab using file.tex, b(%9.3f) se(%9.3f) r2(%9.8f) replace
Run Code Online (Sandbox Code Playgroud)

这会生成第二阶段的发布式表格。但是,第一阶段我应该做什么呢?我需要系数和 R^2。

我可以使用任何命令进行发布式输出 - 它不需要是esttab.

我尝试过ivregress2,但没有成功:

 _iv_vce_wrk():  3001  expected 21 arguments but received 20
 <istmt>:     -  function returned error
Run Code Online (Sandbox Code Playgroud)

regression stata

1
推荐指数
1
解决办法
1952
查看次数

更改 esttab 中的摘要统计术语

我正在使用以下代码:

estpost summarize gdpgrowth, listwise
esttab, cells("mean sd  min max") nomtitle number
Run Code Online (Sandbox Code Playgroud)

gdpgrowth这个想法是使用创建变量的汇总统计表esttab

我得到这个输出:

在此输入图像描述

(1)我喜欢这方面的一切,除了我想从平均名称中删除 the ,sd转为standard deviationmin转为minimummax转入maximum

我还想将每个数字四舍五入到小数点后第二位并更改Nsample size.

statistics summary stata

1
推荐指数
1
解决办法
1090
查看次数

数字位数的标量格式化问题

我正在尝试编写一个命令,该命令返回一个四舍五入到小数点后两位的百分比标量。百分比可以为负数或正数,小数点前的位数未知。

这是 MRE,显示了我遇到的问题。

#delimit;

capture program drop my_note;
program my_note, eclass;
    local my_x: display %-9.2f 92.23999999999999;
    ereturn scalar my_x = `my_x';
end;

ereturn clear;
my_note;
ereturn list;

display %-9.2f 92.23999999999999;
display 92.23999999999999;
Run Code Online (Sandbox Code Playgroud)

我很困惑为什么 display 似乎做了正确的事情(将 92.23999999999999 转换为 92.24,尽管无论格式如何),但 e(my_x) 似乎没有继承该格式。

stata stata-macros

1
推荐指数
1
解决办法
927
查看次数

如何让Stata在数据编辑器中显示所有值标签?

我正在使用一个数据集,其中包含有关个人所从事职业的信息(见下图)。在数据编辑器中,我希望能够读取职业,而现在 Stata 会截断显示的信息。

在此输入图像描述

label editor stata

1
推荐指数
1
解决办法
640
查看次数

生成Stata +交互中所有连续变量的对数转换

我正在尝试foreach在Stata中编写一个循环,它将自动生成数据集中所有连续变量的日志转换(排除字符串,二进制变量).我试过的代码似乎不起作用如下:

qui foreach v of varlist _all {
    gen 'v' = log(v)
}
Run Code Online (Sandbox Code Playgroud)

另外,我想编写一个循环,它将生成所有可能的交互项排列,但我不知道如何处理这个问题.

statistics stata

0
推荐指数
1
解决办法
5858
查看次数

在Stata中具有3个标识符的面板的滚动平均值

我有一个带有3个标识符(日期,公司和人)的不平衡面板,我想price为每个公司和日期计算过去90天内变量()的滚动平均值.当我分配面板时,tsset我收到一条错误消息repeated time values within panel.由于我的小组中的每个人都属于几家公司,因此我每个日期都有几个公司 - 人员对.到目前为止,这是我的代码:

tsset company_id date_id
tsegen Mean_90days = rowmean(L(0/90).price)    
Run Code Online (Sandbox Code Playgroud)

有什么方法可以进行这样的计算吗?

我的解决方案是生成一个company_person_id使用group(company_id person_id),计算每个company_person_id date观察的平均值并使用均值egen=mean()进行聚合by (company_id date_id).但是我仍然不确定它是否合情合理.

mean stata

0
推荐指数
1
解决办法
648
查看次数

导入没有标题的txt

我做了以下

import delimited using "input.txt", delimiters("\t")
Run Code Online (Sandbox Code Playgroud)

但是input.txt没有标题.

我可以看到数据的第一行只是一个标题.

数字变为标题,如v1,v2 ..,字符变为标题,如a,y,..

如果数据看起来像

2014 11 A 03 
2014 11 B 06
Run Code Online (Sandbox Code Playgroud)

然后在Stata中加载的数据是

header:    v1  v2 a v4 
1st row:  2014 11 B 06
Run Code Online (Sandbox Code Playgroud)

如何在不省略input.txt第一行的情况下添加一个"v1,v2,v3 .."的任意标题,我该怎么办?

stata

0
推荐指数
1
解决办法
70
查看次数

标签 统计

stata ×10

label ×2

statistics ×2

dplyr ×1

editor ×1

loops ×1

mean ×1

r ×1

regression ×1

sorting ×1

stata-macros ×1

summary ×1

variables ×1