SAS语法

学不止,更不止。小伙伴们一起加油啊!

Lesson 2 Acessing data:
一、导入structured data
1. Use a library to read SAS file

注:如何新建一个空library?

libname libref "path" #使用libname语句,其中libref是指新建的library的名字。

开始正题:

libname libref base "path";#从某路径中读入SAS格式(因为engine=base)的数据,放在名为libref的library中

proc contents data=libref.table_name;#proc contents命令查看该library中SAS table的table properties
run;

libname libref clear;#清除libref这个library,单里面的数据仍然保留,再运行libname libref "path"时该library还会出现.
1. Use a library to read EXCEL file
options validvarname=V7;#保证excel数据的列名中的空格在读取后变成'_'

libname libref XLSX "path/file_name";#这个excel file里包含table1/2/3...,相当于每个excel文件中包含很多sheets. 这里区别与读取SAS文件时的路径,excel要多一步定位到excel file. SAS只需定位到file所在路径,因为一个table就是一个file.

proc contents data=libref.table1_name;#相当于查看table properities
run;

libname libref clear; #删除library之后,数据仍然保留,rerun一遍libname语句,library和数据表都会出现。

注意:sas file的engine是base, excel file的engine是xlsx.
读取的路径,Excel是file里包含着若干个table,因此读取的路径要具体到table的上一级,即“path/file_name”. SAS file直接是一个数据表,因此table的上一级就是“path”.

二、导入unstructured data
1.

(1)generally导入data: 注意replace和guessingrow的用法
在这里插入图片描述

  • replace保证当导入的file有变动,想重新导入的时候,可以overwrite上次的file.
  • 什么是gussingrows:
    By default, GuessingRows is 20, which means SAS uses the first 20 rows of the Excel spreadsheet to determine whether the data within a column is character or numeric, and what its length should be. 如果默认为20,根据前20行确定每个column的内容长度为8,则会导致20行之后名字超过8个字符的部分显示不出来。 一般如果table为2784行,为了保证每一列的内容都能显示完全,可以设置guessingrows=3000.

(2) 导入excel data: 增加sheet命令,指定导入excel file中的哪一个sheet
在这里插入图片描述


                
  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值