楼主: Bontique
3767 2

sas 如何一次性删除整个大数据集中,属于某个小数据集的变量? [推广有奖]

  • 0关注
  • 1粉丝

已卖:86份资源

本科生

69%

还不是VIP/贵宾

-

威望
0
论坛币
1601 个
通用积分
79.9543
学术水平
1 点
热心指数
8 点
信用等级
0 点
经验
3481 点
帖子
70
精华
0
在线时间
56 小时
注册时间
2012-3-30
最后登录
2022-2-14

楼主
Bontique 发表于 2015-6-9 21:02:14 |AI写论文
10论坛币
例如我有一个数据集X, 它有变量vara,varb,varc. 我需要一个数据集Y, 它有变量varm, varn,varl. 再假设变量间的关系为:varm=vara+1,varn=sum(vara,varb), varl=varc.

于是一般来说写程序如下:

data Y (drop= vara varb varc);
set data X;

varm=vara+1;
varn=sum(vara,varb);
varl=varc;

run;

但是当数据集X,Y均有非常多个变量的时候,程序第一行中,用一个个drop变量的方式,非常费事又容易出错。

所以我的问题是:我要基于数据集X创造一个数据集Y,而数据集Y中只要保留新的变量,删去原本属于数据集X的所有变量有什么效率更高的方法吗?谢谢!

最佳答案

WUPUQU 查看完整内容

1.利用proc contents得到包含X数据集的变量名的字段name的新数据集 2.利用proc sql将该字段name的变量名赋值给宏变量X_name 3.然后就可以在创建数据集Y时直接使用宏变量:drop= &X_name.
关键词:数据集 大数据 一次性 小数据 Vara 如何

沙发
WUPUQU 发表于 2015-6-9 21:02:15
1.利用proc contents得到包含X数据集的变量名的字段name的新数据集
2.利用proc sql将该字段name的变量名赋值给宏变量X_name
3.然后就可以在创建数据集Y时直接使用宏变量:drop= &X_name.

藤椅
Bontique 发表于 2015-6-10 14:42:39
求高手啊~或者各位有啥想法也可以说出来讨论讨论~

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-7 03:00