鉴于其中一些变量可能不存在,如何保留变量列表?

2024-04-14

我有100个dta文件。我有一个我需要的变量列表keep并即时保存临时副本。某些变量可能存在于某个特定的环境中,也可能不存在dta.

我需要 Stata 来保留 a 中存在的所有变量dta并忽略那些不存在的。

下面的代码有错误的语法,但它可以作为一个很好的伪代码,让人们大致了解应该做什么:

forval j = 1/100 {
    use data`j'
    local myVarList =""

    foreach i of varlist  var1 var2 var3 var4 var5 var6 var7 var8  {
        capture sum `i'
        if _rc = 0 {
            `myVarList' = `myVarList'" "`i'
        }
    }

    keep `myVarList'
    save temporaryData`j'
}

有什么办法可以做到这一点吗?


您的代码有很多问题。这是进行内循环的一种方法。

/* one fake dataset */
set obs 5
gen var1 = 1
gen var2 = 2
gen var3 = "c"
gen z    = 35

ds

/* keep part */
local masterlist "var1 var2"
local keeplist = ""

foreach i of local masterlist  {
    capture confirm variable `i'
        if !_rc {
            local keeplist "`keeplist' `i'"
        }
}

keep `keeplist'

关键是你不能foreach i of varlist phantomvar,因为 Stata 会检查是否存在并排除错误。同样,将本地名称放在特殊引号中将会对其进行评估,但您正在尝试重新定义。你可能会发现set trace on调试中的一个有用的功能。

这是更好的代码:

unab allvars: _all
local masterlist "var1 var2 phantomvar"
local keeplist: list allvars & masterlist
keep `keeplist'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

鉴于其中一些变量可能不存在,如何保留变量列表? 的相关文章

  • 启动应用程序,在 C++ 中捕获 stdout 和 stderr

    如何启动应用程序并通过 stdout 或 stderr 捕获输出 我正在编写一个自动构建系统 我需要捕获输出进行分析 我想更新 svn 存储库并获取修订号 以便如果成功的话我可以移动 autobuild revNumber 中的文件 我还想
  • pandas 和 Stata 13 个文件

    我安装了 pandas 0 13 1 但是pandas read stata 无法阅读 dta以 Stata 13 格式创建的文件 出现错误 TypeError cannot concatenate str and NoneType obj
  • Stata:变量中相同值连续出现的最大次数

    我的数据集中的观察结果是玩家和二进制变量temp1如果玩家采取了行动 则 up 等于 1 否则等于 0 我想计算每个玩家的最大连续移动次数 simulation playerlist temp1 temp2 temp3 temp4 temp
  • 如何在R中获得与Stata中相同的AIC和BIC值?

    假设我有一个非常简单的模型 library foreign smoke lt read dta http fmwww bc edu ec p data wooldridge smoke dta smoking reg lt lm cigs
  • 如何在 Android 中截取视频的屏幕截图

    我正在播放一个视频 在某些时候 我需要暂停视频 进行捕获 然后在绘画活动中使用该图像来修改它 问题是 如果我尝试保存视频 图片将是黑色的 尝试过setDrawingCacheEnabled true 可以对视频进行截图吗 你有没有尝试过Th
  • R 子集的回归

    我想对不同国家 即我的数据的子集 运行相同的回归 我确实弄清楚了如何在 R 中执行此操作 但是在 Stata 中更轻松地完成相同的操作之后 我想知道 R 中是否有更好的方法 在 Stata 中你会做这样的事情 foreach country
  • Android VpnService抓包不会抓包

    我已经寻找答案几个小时了 但我无法弄清楚 请帮忙 我想做的是使用Android中的VpnService像应用程序一样抓取网络数据包数据包捕获 我首先使用 google 的 ToyVpn 示例代码并对其进行修改 这样我就不会将数据发送到服务器
  • 使用Python匹配Stata加权xtile命令的最终方法?

    对于一个项目 我需要复制 Stata 输出文件 dta 中当前存在的一些结果 这些结果是根据较旧的 Stata 脚本计算得出的 新版本的项目需要用Python编写 我遇到困难的具体部分是根据 Stata 的加权版本匹配分位数断点计算xtil
  • 如何将网络摄像头捕获的图像放入输入文件中

    我正在尝试从网络摄像头上传图像 但我不确定如何将捕获的图像分配到输入文件字段中 这是代码
  • R 中 Stata 的 xtlogit (fe, re) 等效项?

    Stata 允许通过以下方式指定逻辑回归的固定效应和随机效应xtlogit http www stata com manuals13 xtxtlogit pdf fe and xtlogit http www stata com manua
  • 在 XUL 中捕获可编辑的树更改

    我有一个动态构建的可编辑 XUL 树 问题是 如何监听和捕捉变化的单元格 我通过捕获来检测编辑值的提交blur事件的tree inputField 任何其他事件都不起作用 至少它是有效的 但是有没有一种简单的方法来检索新的价值呢 它真的应该
  • 关于如何为 Pygments 编写词法分析器的大量文档? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我有一本字典Stata http stata com 关键字和 Stata 语法的合理知识 我想花几个
  • CVPixelBufferLockBaseAddress 为什么?使用 AVFoundation 捕获静态图像

    我正在编写一个 iPhone 应用程序 它使用 AVFoundation 从相机创建静态图像 阅读编程指南后 我发现了一段几乎满足我需要的代码 因此我尝试 逆向工程 并理解它 我发现理解将 CMSampleBuffer 转换为图像的部分有些
  • 如何在android中使用相机捕获自定义尺寸的图像?

    如何在android中捕捉方形图像 我想在android中通过intent调用Camera来捕获方形图像 例如300x300像素 我该怎么做 编辑 自 API 级别 21 起已弃用 使用 Camera Size 嵌套类 http devel
  • C++11/14/17 Lambda 引用捕获 [&] 不复制 [*this]

    参考这个线程 https www open std org jtc1 sc22 wg21 docs papers 2018 p0806r2 html https www open std org jtc1 sc22 wg21 docs pa
  • python正则表达式重复与捕获问题

    使用python3的正则表达式功能 是否可以根据找到的重复次数来捕获可变数量的捕获块 例如 在以下搜索字符串中 我想使用相同的正则表达式捕获所有数字字符串 搜索字符串 1 尝试捕获 89 45 zzz89zzz45 mp3 搜索字符串 2
  • 枚举捕获 ALSA 设备并从中捕获

    我正在编写一个 C 程序 我想枚举系统中的所有捕获设备 实际上 我知道我有三个网络摄像头加上 集成 麦克风 识别它们并同时开始捕获它们 我使用 snd device name hint 枚举所有 PCM 设备 然后使用 snd device
  • 将外语从csv文件导入到Stata

    我正在使用Stata 12 我遇到了以下问题 我正在使用以下命令将一堆 csv 文件导入到 Statainsheet命令 数据集可能包括俄语 克罗地亚语 土耳其语等 我认为它们是用 UTF 8 编码的 在 csv 文件中 它们是正确的 我把
  • Delphi 2009 及更高版本中的捕获控制台

    下面的代码适用于 Delphi XE 但 2400 的缓冲区大小相当难看 有人对清理这个例程有一些建议吗 并使 2400 限制消失 不定义 64000 缓冲区 Thanks procedure TForm1 Button1Click Sen
  • 在 Sublime Text 3 中,我可以将 do 文件的选择发送到 Stata 吗?

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

随机推荐