gpt4 book ai didi

r - 是否可以将 SAS infile 语句转换为 R 代码?

转载 作者:行者123 更新时间:2023-12-01 15:43:24 25 4
gpt4 key购买 nike

我对 SAS 的了解不多,我通常在 R 和 Stata 工作。最近我从巴西政府下载了一个公开可用的数据集,出于某种原因,他们以原始格式提供了它,并使用 SAS 脚本读取它:

DATA DOM (COMPRESS = YES);
INFILE "...¥T_DOMICILIO_S.txt" LRECL = 164 MISSOVER;

INPUT @001 TIPO_REG $2. /* TIPO DE REGISTRO */
@003 COD_UF $2. /* CモDIGO DA UF */
@005 NUM_SEQ $3. /* NレMERO SEQUENCIAL */
@008 NUM_DV $1. /* DV DO SEQUENCIAL */

…Etc etc…

RUN;

是否有可能“将此语句翻译成 r 的等效项?如果是这样,我应该寻找哪个函数?

最佳答案

有一个应用程序!嗯,一个 R 包,无论如何,SAScii ,由不屈不挠的安东尼·达米科 (Anthony Damico) 带给您。它有两个函数:parse.SASciiread.SAScii。我在 US gummint CDC 文件上使用它取得了巨大成功。

install.packages("SAScii")
library(SAScii)

> parse.SAScii("test.sas")
varname width char divisor
1 TIPO_REG 2 TRUE 1
2 COD_UF 2 TRUE 1
3 NUM_SEQ 3 TRUE 1
4 NUM_DV 1 TRUE 1
Warning message:
In readLines(sas_ri) : incomplete final line found on 'test.sas'

--然后您将需要在第二步中使用 read.SAScii,但您没有为该测试提供合适的测试文件。

输入文件“test.sas”是:

DATA DOM (COMPRESS = YES);
INFILE "...¥T_DOMICILIO_S.txt" LRECL = 164 MISSOVER;

INPUT @001 TIPO_REG $2. /* TIPO DE REGISTRO */
@003 COD_UF $2. /* CモDIGO DA UF */
@005 NUM_SEQ $3. /* NレMERO SEQUENCIAL */
@008 NUM_DV $1. /* DV DO SEQUENCIAL */

RUN;

如果您查看 "twotorials" on Youtube by Anthony Damico或转到 his website你可以明白为什么我用了“不屈不挠”这个词。

关于r - 是否可以将 SAS infile 语句转换为 R 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23505908/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com