我已经搜索了互联网,但似乎无法弄清楚。我的问题是,如果我有一个sas7bdat文件,如何在SAS Studio中读取sas7bdat文件,以便可以使用它。
我尝试过:
libname test 'C:\Users\name\Downloads\test.sas7bdat';
这给我一个错误,那就是库测试不存在,如果尝试以下操作,我知道我需要一个INPUT,除非我能看到该文件,否则我不会知道。
DATA test;
INFILE 'C:\Users\lees162\Downloads\test.sas7bdat';
RUN;
有什么我想念的吗?
答案 0 :(得分:3)
您通过LIBNAME
语句创建的Libref指向目录,而不是单个文件。
libname test 'C:\Users\name\Downloads\';
INFILE
用于读取原始数据文件。要引用现有的SAS数据集,请使用SET
语句(或MERGE
,MODIFY
,UPDATE
语句)。
set test.test ;
请注意,您可以跳过定义libref的操作,而只需在SET语句中使用加引号的物理名称即可。
DATA test;
set 'C:\Users\lees162\Downloads\test.sas7bdat';
RUN;
当然要在路径中使用C:\
,这是假设您正在使用SAS / Studio指向PC上运行的完整SAS。如果使用的是SAS University Edition,则该版本在虚拟机中运行,您需要将SAS数据集放入映射到该虚拟机的文件夹中,然后在SAS代码中使用虚拟机使用的名称对其进行引用。目录。
类似这样:
DATA test;
set '/folders/myfolders/test.sas7bdat';
RUN;
答案 1 :(得分:1)
Libname只是指向位置,一旦完成,您就可以在set语句中使用该libname以及句点和数据集
libname test "C:\Users\name\Downloads";
DATA test;
set test.asl;
RUN;
答案 2 :(得分:1)
一个可能的原因可能是您使用的是 SAS 大学版(它不支持可变库地址)。
来自 SAS 社区问答之一:
"当您使用 SAS University Edition 时,您创建的任何库都必须分配到一个共享文件夹。您使用以下路径名访问您的共享文件夹:/folders/myfolders/。始终使用“/”目录路径,即使在 Windows 操作环境中"
设置目录地址后,按照上面汤姆在其中一个答案中的指示进行操作。