Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Loops 用Stata中的循环生成变量和_Loops_Variables_Stata - Fatal编程技术网

Loops 用Stata中的循环生成变量和

Loops 用Stata中的循环生成变量和,loops,variables,stata,Loops,Variables,Stata,我尝试执行的循环有一些问题,可能是生成所需变量的语法有问题 换句话说,我要做的是将一组特定的观测值求和,并将每个求和存储在一个单元格中,用于一个新变量。下面是我使用的语法示例: forvalues j=1/50{ 如果村庄=j'&年份==2010,则替换x1=总和(房屋) } genx2=。 For值j=1/50{ 如果村庄=j'&年份==2011年,则替换x2=总和(房屋) } genx3=。 For值j=1/50{ 如果村庄=j'&年份==2012,则替换x3=总和(房屋) } 这是一个包含

我尝试执行的循环有一些问题,可能是生成所需变量的语法有问题

换句话说,我要做的是将一组特定的观测值求和,并将每个求和存储在一个单元格中,用于一个新变量。下面是我使用的语法示例:

forvalues j=1/50{
如果村庄=
j'
&年份==2010,则替换x1=总和(房屋)
}

genx2=。
For值j=1/50{
如果村庄=
j'
&年份==2011年,则替换x2=总和(房屋)
}

genx3=。
For值j=1/50{
如果村庄=
j'
&年份==2012,则替换x3=总和(房屋)
}

这是一个包含4000多个观测值的数据集。所以,对于每个特定的j,如果我成功地使用了上面的代码,我会得到每个j的唯一观察值(我想要得到的),但我没有得到这个——这是所有房屋的总和,以年份和村庄为条件;每年每个村庄的房屋总数。如果有人能帮助我获得每个变量中每个j的一个特定观察值,我将不胜感激。

sum()
将返回一个运行的sum,因此这可能不是您想要的结果。这种类型的问题通常更容易通过前缀和命令来解决。下面的一行命令将为您提供每个村庄和年份的房屋总数:

bys village year: egen Nhouses = total(houses)
sum()。这种类型的问题通常更容易通过前缀和命令来解决。下面的一行命令将为您提供每个村庄和年份的房屋总数:

bys village year: egen Nhouses = total(houses)

请注意,
help sum()
直接带您进入定义。非常感谢。我试图主要通过互联网搜索语法(没有成功)。但是这非常有效。如果你想知道如何使用Stata,我不会从互联网开始,而是从帮助文件开始。请注意,
help sum()
直接带你进入定义。非常感谢。我试图主要通过互联网搜索语法(没有成功)。如果你想知道如何使用Stata,我不会从互联网开始,而是从帮助文件开始。