/*将一个数据集中的每一个观测单独生成一个txt文件*/
/*dataset:逻辑库名.数据集名,例如work.a ,outpath:输出路径,例如C:\Users\Administrator\Desktop,不要加引号 */
%macro export(dataset,outpath)
/*获取观测总数*/
data _null_
set &dataset nobs=nobs
call symputx('nobs',nobs)
run
/*拆分*/
%do i=1 %to &nobs
data &dataset&i
set &dataset
if _n_=&i
run
%put &dataset.&i
/*生成txt文件*/
proc export data=&dataset&i outfile="&outpath.\obs_&i..txt" dbms=TAB REPLACE
run
/*删除产生的子数据集*/
proc delete data=&dataset&irun
%end
%mend export
%export(dataset,outpath)
2. SAS怎么一列数据平分成两份
proc sort data=xxx
by 分层变量;
run; /**先用分层变量对总体样本进行排序/
proc surveyselect data=xxx out=yyy method=srs samprate=0.5
strata 分层变量;
run; /*根据分层变量按0.5比例从总体中抽取一半样本*/
如果你没有分层变量 就按照obs来
yyy就是一半 xxx减去yyy就是剩下的一半
3. 请教高手SAS中Split string 的疑难问题
请教高手SAS中Split string 的疑难问题
split 方法:将一个字符串分割为子字符串,然后将结果作为字符串数组返回。
stringObj.split([separator],[limit])
参数:stringObj 必选项。要被分解的 String 对象或文字。该对象不会被 split 方法修改。
separator 可选项。字符串或 正则表达式 对象,它标识了分隔字符串时使用的是一个还是多个字符。如果忽
略该选项,返回包含整个字符串的单一元素数组。 limit可选项。该值用来限制返回数组中的元素个数。
说明:split 方法的结果是一个字符串数组,在 stingObj 中每个出现 separator 的位置都要进行分解。separator 不作为任何数组元素的部分返回。
split 的实现直接调用的 matcher 类的 split 的方法。“ . ”在正则表达式中有特殊的含义,因此我们使用的时候必须进行转义"\\."
4. sas中如何从右侧截取字符串
1、创建html文档用来测试,注意后缀名必须是,如果看不到后缀名的需要在任意一个文件夹,然后选择组织,然后选择文件夹和搜索选项。
2、然后打开查看,找到“隐藏已知文件类型的扩展名”选项,把前面的√去掉,记得是去掉。然后确定,你就可以看到文件的扩展名了。
3、编写程序如下。
4、保存,然后测试效果。选择文件然后选择打开方式,浏览器打开。
5、从右侧截取字符串的结果如下:
proc sort data=xxxby 分层变量
run/**先用分层变量对总体样本进行排序/
proc surveyselect data=xxx out=yyy method=srs samprate=0.5
strata 分层变量
run /*根据分层变量按0.5比例从总体中抽取一半样本*/
如果你没有分层变量 就按照obs来
yyy就是一半 xxx减去yyy就是剩下的一半
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)