Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.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
Stata 在变量列表中指定变量之前的变量处停止_Stata_Stata Macros - Fatal编程技术网

Stata 在变量列表中指定变量之前的变量处停止

Stata 在变量列表中指定变量之前的变量处停止,stata,stata-macros,Stata,Stata Macros,我被困在一个棘手的数据管理问题上,这是我需要在Stata中完成的。我使用的是13.1版 我有40多个数据集需要使用每个数据集中不同的变量子集来处理。由于专有原因,我不能包含我正在进行的数据或具体分析,但会尝试包含示例和代码 我有一组数据集,a-Z。每个问题都有一组问题,Q1到Q200。我需要做一个分析,包括每个数据集上的varlist条目,排除最后几个问题(处理背景信息)。我知道此背景信息以某个问题(例如“男性/女性”)开始,尽管该问题的实际数字因数据集而异 以下是我迄今为止所做的工作: for

我被困在一个棘手的数据管理问题上,这是我需要在Stata中完成的。我使用的是13.1版

我有40多个数据集需要使用每个数据集中不同的变量子集来处理。由于专有原因,我不能包含我正在进行的数据或具体分析,但会尝试包含示例和代码

我有一组数据集,
a-Z
。每个问题都有一组问题,
Q1
Q200
。我需要做一个分析,包括每个数据集上的
varlist
条目,排除最后几个问题(处理背景信息)。我知道此背景信息以某个问题(例如“男性/女性”)开始,尽管该问题的实际数字因数据集而异

以下是我迄今为止所做的工作:

foreach X in A B C D E F {
    use `X'_YEAR.dta, clear
    lookfor "MALE/FEMALE"
    local torename = r(varlist)
    rename `torename' MF
    ANALYSIS Q1 - MF
}
这是可行的,但问题是我包含了变量,这实际上是我应该开始排除的开始。我知道我可以将
varlist
保存为宏,然后使用宏中的位置排除第七个变量

然而,我仍在继续前进——将其作为
varlist
中的一个条目,停在变量
MF
处。类似于
分析Q1-(MF-1)

有人知道这样的事情是否可能吗

我在这个网站和谷歌上搜索过这个问题,但没有找到一个好的解决方案


如果这是一个我错过的简单问题,请道歉

这里有一种基于代码的方法

. sysuse auto.dta, clear
(1978 Automobile Data)

. quiet describe, varlist

. local vars `r(varlist)'

. display "vars - `vars'"
vars - make price mpg rep78 headroom trunk weight length turn displacement gear_ratio foreign

. lookfor "Circle"

              storage   display    value
variable name   type    format     label      variable label
------------------------------------------------------------------------------------------------
turn            int     %8.0g                 Turn Circle (ft.)

. local stopvar `r(varlist)'

. display "stopvar - `stopvar'"
stopvar - turn

. local myvars

. foreach var in `vars' {
  2.     if "`var'" == "`stopvar'" continue, break
  3.         local myvars `myvars' `var'
  4.         }

. display "myvars - `myvars'"
myvars - make price mpg rep78 headroom trunk weight length
然后只要在需要分析变量列表的地方使用“myvars”。或者,如果变量列表始终以Q1开头,则可以将循环中的局部变量更改为

local lastvar `var'
和使用

Q1-`lastvar'

查看分析变量列表。

这里有一种基于代码的方法

. sysuse auto.dta, clear
(1978 Automobile Data)

. quiet describe, varlist

. local vars `r(varlist)'

. display "vars - `vars'"
vars - make price mpg rep78 headroom trunk weight length turn displacement gear_ratio foreign

. lookfor "Circle"

              storage   display    value
variable name   type    format     label      variable label
------------------------------------------------------------------------------------------------
turn            int     %8.0g                 Turn Circle (ft.)

. local stopvar `r(varlist)'

. display "stopvar - `stopvar'"
stopvar - turn

. local myvars

. foreach var in `vars' {
  2.     if "`var'" == "`stopvar'" continue, break
  3.         local myvars `myvars' `var'
  4.         }

. display "myvars - `myvars'"
myvars - make price mpg rep78 headroom trunk weight length
然后只要在需要分析变量列表的地方使用“myvars”。或者,如果变量列表始终以Q1开头,则可以将循环中的局部变量更改为

local lastvar `var'
和使用

Q1-`lastvar'

查看分析变量列表。

这里有一种基于代码的方法

. sysuse auto.dta, clear
(1978 Automobile Data)

. quiet describe, varlist

. local vars `r(varlist)'

. display "vars - `vars'"
vars - make price mpg rep78 headroom trunk weight length turn displacement gear_ratio foreign

. lookfor "Circle"

              storage   display    value
variable name   type    format     label      variable label
------------------------------------------------------------------------------------------------
turn            int     %8.0g                 Turn Circle (ft.)

. local stopvar `r(varlist)'

. display "stopvar - `stopvar'"
stopvar - turn

. local myvars

. foreach var in `vars' {
  2.     if "`var'" == "`stopvar'" continue, break
  3.         local myvars `myvars' `var'
  4.         }

. display "myvars - `myvars'"
myvars - make price mpg rep78 headroom trunk weight length
然后只要在需要分析变量列表的地方使用“myvars”。或者,如果变量列表始终以Q1开头,则可以将循环中的局部变量更改为

local lastvar `var'
和使用

Q1-`lastvar'

查看分析变量列表。

这里有一种基于代码的方法

. sysuse auto.dta, clear
(1978 Automobile Data)

. quiet describe, varlist

. local vars `r(varlist)'

. display "vars - `vars'"
vars - make price mpg rep78 headroom trunk weight length turn displacement gear_ratio foreign

. lookfor "Circle"

              storage   display    value
variable name   type    format     label      variable label
------------------------------------------------------------------------------------------------
turn            int     %8.0g                 Turn Circle (ft.)

. local stopvar `r(varlist)'

. display "stopvar - `stopvar'"
stopvar - turn

. local myvars

. foreach var in `vars' {
  2.     if "`var'" == "`stopvar'" continue, break
  3.         local myvars `myvars' `var'
  4.         }

. display "myvars - `myvars'"
myvars - make price mpg rep78 headroom trunk weight length
然后只要在需要分析变量列表的地方使用“myvars”。或者,如果变量列表始终以Q1开头,则可以将循环中的局部变量更改为

local lastvar `var'
和使用

Q1-`lastvar'
用于分析变量列表。

创建一个玩具变量列表(必要时创建一个数据集),并手动显示您想要的结果。我真的不知道你所说的“分析Q1-(MF-1)”是什么意思。创建一个玩具变量列表(必要时创建一个数据集)并手工显示你想要的结果。我真的不知道你所说的“分析Q1-(MF-1)”是什么意思。创建一个玩具变量列表(必要时创建一个数据集)并手工显示你想要的结果。我真的不知道你所说的“分析Q1-(MF-1)”是什么意思。创建一个玩具变量列表(必要时创建一个数据集)并手工显示你想要的结果。我真的不知道你所说的“分析Q1-(MF-1)”是什么意思。