SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 1478|回复: 5
打印 上一主题 下一主题

在SCL中如何删除数据集的一列(变量)?

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2003-12-9 21:50:14 | 只看该作者

在SCL中如何删除数据集的一列(变量)?

SCL对于数据集的操作中,删除一行(观测)可以用delobs(),但找了好久,也没有发现可以执行删除列(变量)操作的函数或方法,哪位大侠知道?还请不吝赐教!谢谢!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2003-12-10 10:19:06 | 只看该作者
SCL中只有MODVAR和NEWVAR,也就是说只能修改和添加列。
看来你只能用BASE的方法了,在我印象中应该PROC SQL和PROC DATASETS都可以,挑一种我熟的供你参考:
data class; set sashelp.class; run;
proc sql noprint; alter table class drop name; quit;
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2003-12-10 11:15:53 | 只看该作者
SCL中可以用宏操作数据集   如:

Submit Continue;
  Data Table (drop=column);
     Set Table;
  Run;
EndSubmit;
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 2003-12-10 11:51:54 | 只看该作者
谢谢两位的指点,虽然不是我所期望的解决办法,但仍可以解决问题。看来在SCL中删除列的操作是没有直接的办法。

谢谢!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
5#
 楼主| 发表于 2003-12-11 11:10:10 | 只看该作者
经过确认,确实没有直接的方法,又一建议:
rc=copy('work.mydata','work.mydata(drop=var2)');
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
6#
 楼主| 发表于 2003-12-11 16:41:33 | 只看该作者
谢谢shiyiming兄的指点,这个办法相对方便一些。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2025-1-7 12:16 , Processed in 0.109183 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表