如何在Stata中为二进制数据创建尾随计数?

在Stata中,我目前有一个如下数据集: 我试图在B列中创建一个“跟踪计数器”,使其看起来像: 这里,计数器从1开始,每当a中出现“1”时,B就会加上一个值 这似乎很简单,但我不知道如何做到这一点。以下是我迄今为止所做的工作: 假设列A在Stata中称为“A” 我使用: gen B = A + A[_n - 1] 但是,这给了我一些启示。我不知道该怎么做,有人有什么建议吗?这里有一种方法: clear all set more off *----- example data -----

Stata 状态饼图错误

嗨,我正在尝试创建一个有很多切片的饼图。由于某种原因,我在运行此代码时出错。 我的代码 我得到了这个错误 (note: areastyle p193pie not found in scheme, default attributes used) (note: areastyle p194pie not found in scheme, default attributes used) (note: areastyle p195pie not found in scheme, defaul

“我该怎么做?”;填写“;Stata中的数据集,但仅针对特定数量的行?

我有一个特定时间点的观测数据集,但这些时间点(以及它们之间的时间长度)因组而异。我正试图“填充”数据,以便将现有的观察结果记录到缺失的单元格中。但我只想在最初的观察之后,对一定数量的行执行此操作。例如,我可以有一个如下所示的数据集: 对于A组,我想用2001年的值填充2002年的值,用2003年的值填充2004年的值,等等。我根本不想填充2000年,因为我没有前面的值。我也不想填写2011年的值,因为“cyclelength”变量告诉我A组的观察应该每两年进行一次,所以我不想将数据结转过去。2

如何将Stata指向两个不同命令的同一帮助文件?

Stata的swilk命令执行非正态性的Shapiro-Wilk测试。同样,Stata的sfrancia对非正态性进行Shapiro-Francia检验。但是,这两个命令共享相同的帮助文件swilk.sthlp Stata如何知道单个帮助文件用于多个命令?例如,Stata如何知道swilk.sthlp保存对命令的正确响应help sfrancia?或者ttest.sthlp保存了对help ttesti的正确响应(不仅仅是help ttest) 我正在编写一个新的程序包,同一个帮助文件应该同样适

Stata中字符串格式的尾随零

我试图将Stata中的字符串变量a转换为字符串变量B,这样每个观察值都有一个固定的长度。例如,字符串变量A是 85 01 3 我想把它转换成另一个字符串变量B,后面有个零,以便得到每个观测值的长度5 85000 01000 30000 我知道,为了放置前导零此代码有效 genb=string(实数(A),%05.0f”)。如何修改它以获得尾随零?问题在于,新变量不是具有新格式的旧变量,而是完全不同的值。一种方法是: clear set more off *----- example dat

指定将(三)年受试者观察值转换为月受试者观察值(Stata)后改变值的时刻

我的目标是将受试者三年期数据集转换为具有受试者月观察值的数据集,并根据称为“精确时间”的变量,指定一个字符串变量(下面称为“strvar”)应更改值的月份 我有一个数据集,每个受试者有四个记录(受试者年度观察,即每个受试者数据集有多个记录),每个受试者的信息每三年记录一次,如下所示: “strvar”每三年更改一次其值。变量“exact_time”记录每个变量“strvar”更改其值的确切(月、日、年)时刻。一旦“strvar”发生变化,它将在接下来的几个月内保持相同的值,直到下一个“精确时间

Stata 指定csv文件中缺少的值

在将文件读入Stata之前,我正在将其写入csv。如何在csv文件中指定缺失值,以便在将csv读入Stata时,自动将其编码为缺失?找到答案-如果csv文件中的值设置为,则将其作为缺失值读入Stata 将字段留空也会起作用。我认为这比在CSV文件中使用要好,因为许多程序不会将点识别为缺少的值指示器。此外,将字段留空也适用于字符串。

Stata 制造时间条件

我在Stata 14中工作,我有一个时间字符串变量。 我想改变它,这样我可以使操作有条件的时间。 例如,如果观测是在中午之前进行的,我想知道一个变量的平均值 sum price if time<12:00 如果时间如果您的时间从“00:00”到“23:59”那么 ... if time < "12:00" 。。。如果时间

Stata 区别于;“预测利润率”;及;利润率,按平均值预测;

在我运行多项式逻辑回归后,我对获得预测概率感兴趣 如果我运行以下程序,我发现我的估计值存在差异: mlogit cluster_lag i.indipvar1 i.indipvar2 i.indipvar3 indipvar4, rrr vce(cluster clustervar) margins depvar, atmeans predict(outcome(0)) 或者: mlogit cluster_lag i.indipvar1 i.indipvar2 i.indipvar3 i

Stata 标记化解析选项

考虑与我的示例稍有不同的玩具示例: 我有两个问题: 在这种情况下,tokenize是否按预期工作?我以为是本地宏 2应该是,而不是,,而本地宏3包含字符串的其余部分(本地宏4为空) 有没有办法强制标记化将双逗号作为语法分析 性格 tokenize——以及gettoken——据我所见,不会接受重复的字符,例如,,作为复合解析字符、作为解析字符的规范并不违法,但仅理解为表示、和、是可接受的解析字符。实践中的重复被忽略,正如在“我的名字是珍珠”之后添加“我的名字是珍珠”不会在对话中添加信息一样 备份:

Stata 在许多没有';我没有规则

当名字很少时,在Stata中循环是很容易的 此外,如果有关于名称如何更改的规则(例如增量),我可以执行以下操作: forval i = 1/5 { ... } 然而,在有些情况下,我需要循环使用数百个名称,这些名称没有递增规则 例如: 48700 48900 48999 49020 49180 49340 ... 有没有写循环的简写方法? 还是我必须费力地把它们全部列出来?答案是这要看情况而定 如果这些是变量名的一部分,则可以执行以下操作: clear set obs 5 fore

Stata 在同一分类变量下对两组求和

我有一个名为“categories”的字符串变量,如下所示: 然而,正如你所看到的,一些观察结果列在“类别1”下,其他的列在“类别1”下,但我基本上想把它们加起来,其中类别1的总数为=(3686+36)=3722 由此我猜您的未命名变量是字符串,但赋值不一致 replace whatever = lower(whatever) 这是将类别1映射到类别1的几种方法之一。最好还是一起工作 gen betteryet = real(word(whatever, 2)) 因为category的措

Stata子串错误

我正在尝试从供应商名称中删除某些子字符串。因此,我放入一个宏并执行以下操作: local item "BANKOFAMERICA" " INC" " INCORPORATED" " SYS " " SYSTEMS" " PVT" " PRIVATE" " LIMITED" " LTD" " LLC" " CORP" "LIMITED LIABILITY" "CORPORATION" " CORP " " COMPANY" " CO " " TECHNOLOGY" " TECH " "

在最大似然估计中,Stata似乎忽略了我的起始值

我试图估计一个最大似然模型,但它在Stata中遇到了收敛问题。实际模型相当复杂,但当提供适当的起始值时,它在R中收敛没有问题。然而,我似乎无法让Stata接受我提供的起始值 下面我举了一个简单的例子来估计泊松分布的平均值。这不是我试图估计的实际模型,但它说明了我的问题。我设置了跟踪变量,它允许您在Stata搜索似然曲面时查看参数 虽然我使用init将起始值设置为0.5,但第一次迭代仍然显示Stata尝试将系数设置为4 为什么会这样?如何强制估算过程使用我的起始值 谢谢 generate y =

Stata&x27;滚动';命令:保存变量而不是.dta文件

我正在foreach循环中使用滚动命令: use "MyFile.dta" tsset time, monthly foreach i of varlist var1 var2 { rolling _b, window(12) saving(beta_`i'): reg `i' DependentVariable } 现在,这段代码为每个滚动回归保存一个不同的文件。我真正想要的是将从滚动估计中获得的每个beta向量保存为一个变量。 我希望得到的最终结果是一个数据集,其中包含时间变量和每个滚动

Stata 为ivprobit创建latex输出?

假设我想为ivprobit中的示例创建latex输出。即: use http://www.stata-press.com/data/r11/laborsup.dta ivprobit fem_work fem_educ kids (other_inc = male_educ), first margins, dydx(_all) pred(pr) 我想要一个第一阶段的专栏,还有一个边缘效果的专栏 最好的方法是什么?可能有一种更聪明的方法,不需要重新估计第一阶段: webuse laborsup

Stata 为宏指定一系列值

我正在尝试使用for循环重命名变量列表 我的代码如下所示: local x 99 00 01 02 03 04 05 06 07 08 09 10 11 12 local k 2 4 6 8 10 12 14 16 18 20 22 24 26 28 local n: word count `x' forvalues i = 1 / `n' { local a : word `i' of `x' local b : word `i' of `k' rename v`b

Stata正则表达式

我需要使用正则表达式来提取字符串变量的一部分。我的数据是这样的,其中a表示字母字符x,Z表示数字字符。我想提取“-”前面的Z字符 我的代码如下所示 gen p_id=regexs(1)如果regexm(var1,“([0-9][0-9][0-9])[-]*[0-9][0-9][0-9][-]*[a-zA-Z]*$”) 此代码提取的内容超过了所需的内容。例如,这段代码从如下观察中提取数值部分。具体来说,它提取ZZZ 我玩弄各种表情,但无法得到所需的答案 我认为您需要更好地描述可以呈现的值的结构。但

如何利用Stata用二元内生回归估计probit模型

估算背后的理论原理对我来说很清楚(正如Wooldridge的教科书和之前的一些文章所描述的那样) :。然而,当我查看ivprobit的Stata手册时,它写道 "···regressors are continuous and are not appropriate for use with discrete endogenous regressors." 因此,我想知道是否有其他(内置或用户编写的)命令可用于实现以估计此类模型(二进制内生回归器) 谢谢你的建议。还有一个问题:如果我想用二元

为什么我的forvalues循环在stata中不起作用?

我试图在名为nbrs的变量中查找异常值,生成名为nbrs\u iqr的四分位(iqr)范围。然后我想循环(为了实践这个循环概念)1.5、2、5和10的值,将它们乘以iqr 循环中不断出现语法错误(无效语法r(198);)。我已经看到了当值不是一个范围时不能执行forvalues循环的一些情况,但是已经看到了一些示例,其中它是一个非范围,但没有明确说明这是允许的。我认为空格可以用来分隔非范围值,但我已经举手了 sum nbrs, detail return list gen nbrs_iqr =

Stata 如何确定(复杂)面板图案?

我的问题与现有的关于Statalist-like的讨论密切相关。我想提出一个新问题,因为我想看看除了连续咒语的数量之外,更复杂的面板模式 比如说,给定一组公司,我想检查该公司在购买一些land>0之前有多少年没有不动产land==0 或者,更复杂地说,公司的财产低于某一水平土地

Stata-stset中的竞争风险回归与竞争失败

我正在使用Stata并完成一项竞争性风险回归,二次癌症诊断为失败,死亡为竞争性风险 我不确定是否正确使用了stset命令。我使用的代码如下:- stset diagtime, time0(diagnosisdate1) origin(time diagnosisdate1) exit(diagnosisdate2) failure(fail==1) 其中,“diagtime”是主要诊断和次要诊断之间的时间,fail==1是次要诊断的发生 当我运行回归时,我需要将死亡指定为竞争性失败,但不确

Stata 状态:混合与混合

有人能描述STATA中混合命令和XTMixed命令之间的区别吗?我使用的是STATA 14.2,当我使用每个命令拟合多级模型时,我会得到不同的结果 如果这是一个愚蠢或明显的问题,请道歉-提前感谢您的帮助 Current Stata在这里提供了一些见解: xtmixed已重命名为mixedxtmixed继续工作,但 Stata 13的一部分,不再是Stata的官方部分。这是 原始帮助文件,我们将不再更新,因此可能会有一些链接 不再工作了 当前的Stata在这里提供了一些见解: xtmixed已重命

Stata egen sum()未给出正确的总数(数据类型问题?)

我的问题是无论是egen sum()还是egen total()都不能正确求和 我试图求和的变量eqvalueusd是作为str20从.csv文件导入的;然后我用一个名为marketusd的新变量对其进行编码,该变量具有long(%16.0g)格式 我想要该变量中的值的总和 到目前为止我尝试了什么(没有成功) 1:汇总市场美元,仅表示和显示r(总和),显示的总和错误 2:egen sum=sum(marketusd)和egen sum=total(marketusd),它们将错误的总和放入新变量

Stata 在一个时间间隔内随机选择年份

我想在我的数据子集中随机选取3年,比如从2007年到2016年,除了2008年、2012年和2014年。我想重复这个过程500次 如何在满足所需条件的情况下进行此模拟 请注意,这是我的一个问题的后续问题,在我的一个问题中,我被提供了一个无条件案例的解决方案。最简单的方法是首先将数据子集: sysuse uslifeexp, clear set seed 12345 // preserve keep if year >= 1946 & year <=1957 drop if

在Stata中重塑数据

我有一个由研究组成的数据集。在一些研究中有多个数据点(DP)。我的数据是结构化的,因此每一行都是一个单独的数据点。此外,我还有一个单独的变量表示具体的研究文章 我需要从与研究(而非DPs)相关的数据中获得汇总统计数据。换句话说,我需要让每一行都成为研究性学习,DPs成为计数 我使用合同尝试了下面的代码。它适用于list命令。但是,我需要汇总统计数据,并且我希望获得多个变量的汇总,并在数据组织好后将它们合并到一个表中 contract study nation drop _freq study c

在Stata中筛选特定数据

我使用的是Stata13,在2000年到2003年的给定时间段内,我必须用不同ID清理面板格式的数据集。我的数据如下所示: id year ln_wage 1 2000 2.30 1 2001 2.31 1 2002 2.31 2 2001 1.89 2 2002 1.89 2 2003 2.10 3 2002 1.60 4 2002 2.46 4 2003 2

在Stata中重命名矩阵的一个特定列

我正在为modyfinyg工作,重新命名和安排评估结果,以便在Stata最终发表。到目前为止,我得到的是: sysuse auto, clear * interaction model gen int_mpg_mpg = mpg*mpg // generate interaction manually qui regress price weight mpg int_mpg_mpg foreign mat b=e(b) // store estimation results in matr

Stata中的向前和向后逐步选择

在Stata中是否有向前和向后选择的命令?据我所知,逐步执行只能执行其中一项。有关文档的开始信息,请参阅 如果希望在两个方向上都能灵活移动,请同时指定pr()和pe()。我不知道这是否正是你想要的 有关文档的开始信息,请参阅 如果希望在两个方向上都能灵活移动,请同时指定pr()和pe()。我不知道这是否正是你想要的

Stata &引用;“字符串中的”一词;惯用语(扩展字符串函数的一部分)

在Stata 11.2版上,我试图在forvalues循环中标记变量 但是,我无法让string的扩展string函数word#idiom工作: local names `""Growth" "Mature" "All""' forvalues i = 0/2 { local name : word `i' of `names' display "`name'" } 这是一个错误,但我不断得到无效语法错误 我还尝试了所有的本地名称,但这也不起作用 有没有一种方法可以通过算法实

使用多重插补和复杂样本设计的多因素相关(Stata)

我有一个数据库(我使用Stata 13),该数据库具有复杂样本设计(Strate和Pweight)的多重插补,因此我通常在分析之前使用以下命令:mi estimate,esampvaryok:svy: 我只是想知道,在这种情况下,有没有办法在Stata中使用polychoric命令?或者,如果不可能,您知道其他允许我这样做的软件吗 对每个插补数据集应用polychoric,然后对结果进行平均。尽管polychoric不了解调查,但只需要概率权重来估计相关性。下面是计算相关性的两个估计值的代码:1

Stata-计算组中除当前观察外所有人的平均值

我想计算我所在小组所有成员的平均数,但不包括我自己在内。假设组变量被称为group,我想通过group取val1的平均值,不包括我自己。我想创建的新专栏是avg。数据如下所示(输入了正确的avg值,以便您了解我的意思) 如果我想把自己包括在计算中,那就很简单了。我只想: bysort Group: egen avg = mean(val1) 但是我如何用我不包括自己的皱纹来实现这一点呢?一种方法是循环所有观察结果: clear set more off *----- example data

当存在三个二分法解释变量时,汇总Stata中的统计数据(平均值,sd)

当有三个二分法IV时,我试图为DV创建一个汇总统计表(平均值,sd)。使用命令tab IV1 Iv2,sum(DV)我只能为两个IV变量创建汇总统计表,但不能为三个IV变量创建汇总统计表。但是,我需要三个IV及其交互的摘要统计数据。有办法吗?另一个命令?谢谢 您可以创建如下交互变量: webuse nlswork egen interaction = group(race nev_mar union), label tab interaction, sum(ln_wage) 您可以创建如下交互

Stata:保存到特定文件夹

我想将我的输出保存到一个包含分析日期的文件夹中。我的代码如下所示 local d = c(current_date) cd "c\RA-outputs" mkdir "`d'" twoway bar weeksum week graph export "c\RA-outputs\`d'\out1.png", as(png) replace 然而,当我运行这段代码时,我得到一个错误,说文件夹不可用。我知道我犯了一个小错误,因为我看到了由前三行代码创建的文件夹 当您说cd时,您需要指向硬盘驱动器

Stata:处理包含受保护字符的变量标签

我正在处理从SPSS文件导入的大约100个Stata数据文件,我不再能够访问这些文件。在构建所有文件的摘要描述时,我记录了变量和值标签,其中包括如下循环: foreach v of varlist _all { local varlbl: variable label `v' // do some more things file write `outfile' `"`v'"' // and some other stuff } 这几乎一直都很好,额外的反勾号和单引号正确地避

在Stata中为给定的命令集设置示例

我正在运行几个命令块,其中每个块都与数据集的特定子样本相关。每个块中的代码各不相同,因此我无法在所有子样本上运行for循环。此外,代码块是相互连接的(一些块的输出作为输入馈送到其他块),所以我不能只运行单独的do文件 目前,我正在运行do文件,方法是在每个命令中使用条件if sample==I(其中sample的值表示数据集的子样本)。然而,这既耗时又不优雅。我正在寻找执行以下操作的命令: set sample = 1 code code code set sample = 2 code

在stata中用标签折叠

我想在stata中崩溃后保留变量标签。我发现尼克·考克斯的解决方案对我不起作用。代码如下所示: 在-collapse-之前,将变量标签复制到本地宏: foreach v of var * { local l`v' : variable label `v' } 在-collapse-之后,使用旧标签: foreach v of var * { label var `v' "`l`v''" } 折叠后的所有变量仍然没有标签 广泛解决了这个问题,但是: 在折叠之前,您需

Stata 根据组内的其他观察结果删除特定观察结果

我使用的是2000年至2016年巴西市政选举的数据集: * Example generated by -dataex-. To install: ssc install dataex clear input str5 codmun_TSE str56 nome_candidato byte NUM_TURNO long votos "58335" "WASHINGTON REIS DE OLIVEIRA" 1 15702 "58335"

Stata 显示定义每行的变量集

要说一个数据集是(人,年)级别,意味着该数据集的每一行都有不同的(人,年)如下所示: person year wage Mike 2000 10 Mike 2010 30 Jack 1990 20 如何使Stata精确显示唯一定义每行的(person,year)变量集 我想制作一个日志文件来记录 person year 仅显示,但不显示任何个人信息(在日志文件中显示个人信息违反数据提供程序设置的规则) 我怎么能这样做 我想到的是以某种方式使用排序bys

在Stata中创建值序列矩阵的快速通用方法

假设我想要一个0:10的向量 我知道我能行 matrix x = (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10) 但是有没有更通用的方法来做到这一点呢?假设你想创建一个0:100或27:50的矩阵,或者其他任何矩阵。算出了,你必须在mata中创建向量,然后将它返回给stata: mata: x = range(0,10,1) mata: st_matrix("x", x) 或者只是 mata: st_matrix("x", ran

Stata 相同的do文件,相同的计算机,有时不同的结果

我有一个大的do文件,它调用了几个子do文件,所有这些文件都在一个自定义最大似然模型的估计之前。就是说,我有一个main.do,看起来像这样 version 12 set seed 42 do prepare_data * some other stuff do estimate_ml * lots of other stuff global cdf "normal" program define customML args lnf r noise tempvar prob1

Stata esttab输出

当我使用esttab将结果从Stata导出到LaTeX时,出现了一个简单但奇怪的问题 一旦输出存储在tex文件中,我就将该文件导入Lyx。但是,所有系数前面都有[em1],符合pdf中的文本要求。即使我没有将tex文件导入Lyx并在Texworks中打开它,仍然会出现[em1]前缀。我能找到的删除[em1]的唯一方法是手动删除,这既繁琐又缺乏优雅 你知道为什么会出现这种情况吗 以下是生成代码: svyset w1_wgt estpost svy: tab reason1, se per est

Stata 当有两个i标识符和一个t时间时填充面板

我有两个单独标识符和一个时间标识符(日历年)的面板数据。每个年都有我称之为健身房和老师的不同个人组合。我在下面提供玩具数据 我想填写这些数据,以便在每一年我都有健身房和老师这一年其他地方存在的所有组合。也就是说,如果健身房和教师在年的任何地方都存在,我想将它们作为一个新的组合包含在面板中。然后我将用0填充他们的类变量 如果我egen group()这两个标识符,我可以创建一个组合标识符gt,它允许我xtset并使用tsfill,full完成面板。同样,代码如下 我的问题是,如果健身房和老师从不在

Stata:计算具有相同ID的观测值的增长率

我想用Stata计算具有相同ID的观测值的增长率。我的数据简化如下: ID year a b c d e f 10 2010 2 4 9 8 4 2 10 2011 3 5 4 6 5 4 220 2010 1 6 11 14 2 5 220 2011 6 2 12 10 5 4 334 2010 4 5 4 6 1 4 3

Stata 如何结束全局名称?

我正在尝试从其他全局变量名中组合一个新的全局变量,如 global partA 1234 global partB 5678 global fullname $partA_$partB 但是,当我这样做时,下划线将被解释为第一个全局名称的一部分。我目前的解决方案是从partA创建一个本地 global fullname `partA'_$partB 如何将前两个全局变量连接成一个新的全局变量,并用下划线(或其他字符)分隔它们,而不创建此临时局部变量 您可以将全局名称括在{}中的$后面,如下所

在Stata中打开受密码保护的文件

我试图在Stata中打开一个受密码保护的.xlsx文件。我有密码,所以打开文件、复制内容并将其粘贴到另一个文件是一种选择 另一种选择是复制整个文件,删除密码保护,然后从那里继续,但这同样不理想 有没有一种方法可以在Stata中打开受密码保护的.xlsx文件而不使用一些变通方法?您在寻找什么?import命令的选项,用于拼写密码?我认为这是StataCorp的一条线,不给你可能危及你自己安全的代码。(我不知道这里可能发生什么。)导入命令会很好,但并不理想,因为正如您所提到的那样,它允许破坏安全性

如何重新编码Stata中某个范围内的缺失值

我早些时候问了一个类似的问题。我试图填充缺失的值,这样观测值0-458是e0,445-832是1,832-850是0 下面的代码允许我将观测值1-160中缺少的值替换为1,其余的观测值设置为0 replace myvar = cond(_n <= 160, 1, 0) if missing(myvar) replace myvar=cond(_n没有观察值0。我假设您指的是观察值1。否则,您的规则是不明确的,因为您为445-458提供了两条规则,为832提供了两条规则 我将给出一个最小数

Stata 不平衡面板数据集事件前后的二次抽样年数

我试图找出一种简洁的方法,使用Stata中的每日面板数据,只保留事件发生年份前后的两年。面板不平衡。最终,我试图进行一项事件研究,但我遇到了一些问题,因为独特的群体报告的年份不一致 数据如下所示: ID year month day event 1 1999 1 1 0 1 1999 1 2 0 1 1999 1 3 0 1 1999 1

  1    2   3   4   5   6  ... 下一页 最后一页 共 24 页