【问题标题】:Read Stata version 13 file in SAS 9.4在 SAS 9.4 中读取 Stata 版本 13 文件
【发布时间】:2017-11-06 17:27:08
【问题描述】:

我正在尝试在我的 SAS 9.4 中导入 Stata 版本 13 文件 - 但不断收到错误消息

对于 Stata,支持 103 到 115 的版本标志。你有 -> 60 请求的输入文件无效 错误:导入失败。有关详细信息,请参阅 SAS 日志。

以下代码不起作用:

proc import out = uw14 datafile = "C:\User\KE14_hhld.dta"; run; 

也不这样做:proc import out = uw14 datafile = "C:\User\KE14_hhld.dta" dbms = stata replace; run;

我发现 SAS 9.4 不读取 Stata 版本 13 文件。 SAS 9.4 仅读取 Stata 12 文件(或更早版本)。

一种解决方案可能是将 Stata 13 文件保存为旧版本 - 但我的计算机上只有 Stata 12,它无法打开版本 13 文件。 另一种解决方案可能是将其保存为 R 中的 CSV 文件 - 这通过以下代码完成:

proc import out = uw14 datafile = "C:\User\KE14_hhld.csv"; run; 

但是我已经尝试过了,并且转换将我的变量数量无法管理设置为特征而不是数字并杀死所有格式。

还有其他想法吗?

(SAS9.4和Stata12以外的版本我无法下载) 谢谢

【问题讨论】:

  • 请发布代码尝试。你在用proc import吗?为什么要使用 R 处理 CSV 文件,Stata 和 SAS 都有这样的功能。
  • 我在 SAS 中的代码:proc import out = uw12 datafile = "C:\User\KE12_hhld.dta";跑;我使用的是 R,因为这是唯一可以读取 Stata 13 文件的东西。我的 SAS(9.4 版)或我的 Stata(12 版)都不能。
  • 在您的问题中发布您的代码,使用 EDIT 功能,而不是在 cmets 中。
  • 您的代码未指定 DBMS,请确保这样做。
  • 以下代码不起作用...没有帮助。请发布日志错误消息。你试过dbms = dta吗?

标签: sas stata


【解决方案1】:

您可以尝试将 R 用作一种第三方。您可以将您的 dta 转换为 R data.frame,然后将 data.frame 写入 .sas7bdat。

如果我没记错的话,您可以使用 Haven 包完成所有这些操作。两三行代码就足够了:

Haven documentation

【讨论】:

    【解决方案2】:

    您可以使用 stat/transfer 进行大多数类型的数据转换:https://stattransfer.com

    【讨论】:

      猜你喜欢
      • 2014-07-16
      • 1970-01-01
      • 1970-01-01
      • 2016-06-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多