全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3348 10
2012-01-11
我是SAS初学者,有个很基础的问题,我的csv表格有43个variable,但我不想全部选取来做计算,我只想选其中的几个,应该如何做呢?而且我的obs有87万行,我只想挑选其中符合ID要求的行,就是说要obs和variable交叉选取data。

不知道大家有没有明白我的意思,我对obs选取用的是if语句,if ID = 'XXX', 但后边我不明白是不是需要then。
variable是一堆的价格price,43个,但我想选取5个。

谢谢
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2012-1-12 00:47:02
选取obs用where吧?var可以用keep么?其实我也很菜,不知道对不对
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-1-12 09:18:27
不知道这样是不是lz需要的:

data want;
set have;
keep var1 var2 var3 var4 var5;
if id=‘xxx’;
run;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-1-12 09:18:38
layyine 发表于 2012-1-12 00:47
选取obs用where吧?var可以用keep么?其实我也很菜,不知道对不对
proc print data = trading;
where InstrumentID='a1111';
var TradingDay InstrumentID $ UpdateTime AveragePrice ClosePrice;
run;

但报错:

ERROR: Variable TRADINGDAY not found.
ERROR: Variable INSTRUMENTID not found.
ERROR: Variable UPDATETIME not found.
ERROR: Variable AVERAGEPRICE not found.
ERROR: Variable CLOSEPRICE not found.
ERROR 22-322: Syntax error, expecting one of the following: a name, ;, -, /, :, _ALL_,
              _CHARACTER_, _CHAR_, _NUMERIC_.
ERROR 200-322: The symbol is not recognized and will be ignored.

是不是我需要指明每个variable中的data占多少空间呢?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-1-12 10:03:37
xiaoyu163 发表于 2012-1-12 09:18
不知道这样是不是lz需要的:

data want;
要设置每个variable的长度吗?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-1-12 13:00:45
vickyannie 发表于 2012-1-12 09:18
proc print data = trading;
where InstrumentID='a1111';
var TradingDay InstrumentID $ UpdateTime  ...
新建一个data set,试试下面这个程序行不行

data tradingselected;
   set trading(keep=TradingDay InstrumentID UpdateTime.......);
where InstrumentID='a1111';
run;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群