美文网首页制药SASPRS
SAS数据的导入(2)

SAS数据的导入(2)

作者: overmoon | 来源:发表于2020-06-15 18:27 被阅读0次

    混合的输入样式和读取杂乱的原始数据

    1.混合的输入样式

    三种主要的输入样式:列表样式、列样式和格式化样式。可以混合使用。

    *创建一个数据集parks;
    *使用混合输入的方式读取数据文件NatPark.dat;
    data parks;
    infile 'd:\SAS\lianxi\MyRawData\NatPark.dat';
    input parkname $ 1-22 state $ year @40 acreage comma9.;
    run;
    proc print data=parks;
    title 'national parks';
    run;
    

    parkname:列样式输入
    state和year:列表样式输入
    acreage:格式化样式输入
    @40:列指针,移动到第40列,并从第40列开始读取数据

    @n:可以用于跳过不需要的数据,或者使用不同的输入格式两次读取同一个变量


    2.读取杂乱的原始数据

    @'character'列指针和冒号修饰符

    • @'character'列指针
      若你提取的数据总是在一个特定的字符或者单词之后,则可使用@'character'列指针。例:input @'Breed:' dogbreed $;
    • 冒号修饰符
      如果希望SAS读取到空格或者数据行的结束为止,则可使用冒号修饰符

    例:
    原始数据 **my dog sam breed: rottweiler vet bills: $478 **
    不同input语句所得的结果:

    语句 变量dogbreed的值
    input @'breed:' dogbreed $; rottwerl
    input @'breed:' dogbreed $20.; rottweiler vet bill
    input @'breed:' dogbreed :$20.; rottweiler
    *创建一个数据集results;
    *使用混合输入的方式读取数据文件Canoes.dat;
    data results;
    infile 'd:\SAS\lianxi\MyRawData\Canoes.dat';
    input @'School:' school $ @'Time:' racetime :stimer8.;
    run;
    proc print data=results;
    title 'results';
    run;
    

    注意:
    若没有冒号修饰符,SAS读取到行末尾的时候,它将视图去下一行读取是时间值


    参考文献
    The Little SAS Book,Fifth Edition

    相关文章

      网友评论

        本文标题:SAS数据的导入(2)

        本文链接:https://www.haomeiwen.com/subject/cuphxktx.html