楼主: steve66
8654 11

求助,怎样按条件筛选数据 [推广有奖]

  • 1关注
  • 1粉丝

已卖:503份资源

本科生

53%

还不是VIP/贵宾

-

威望
0
论坛币
10523 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
899 点
帖子
60
精华
0
在线时间
111 小时
注册时间
2007-3-28
最后登录
2024-11-12

楼主
steve66 发表于 2008-7-30 12:56:00 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

股票代码股票简称统计日期行业行业代码ROE>200%的股票代码
000001深发展A2007-12-31金融0001000013
000002万科A2007-12-31房地产0003000017
000006深振业A2007-12-31房地产0003000030
000012南玻A2007-12-31工业0005000035
000014沙河股份2007-12-31房地产0003000156
000016深康佳A2007-12-31工业0005000405
000019深深宝A2007-12-31工业0005000529
000021长城开发2007-12-31工业0005000536
000022深赤湾A2007-12-31公用事业0002000536
000023深天地2007-12-31房地产0003000542
000024招商地产2007-12-31房地产0003000556
000025特力A2007-12-31综合0004000560
000026飞亚达A2007-12-31工业0005000566
000027深圳能源2007-12-31工业0005000592
000028一致药业2007-12-31工业0005000613
000029深深房A2007-12-31房地产0003000620
000031中粮地产2007-12-31房地产0003000621
000032深桑达A2007-12-31工业0005000631
000033新都酒店2007-12-31商业0006000633
000036华联控股2007-12-31工业0005000658
000037深南电A2007-12-31工业0005000675
000039中集集团2007-12-31工业0005000039

我现有一些公司的资料,这些资料包含五个变量“股票代码, 股票简称, 统计日期,行业, 行业代码”,就是上面数据表中的前五列数据

我想从里面剔除那些包含在第六列中的(ROE>200%)公司,剔除时要求公司的五个变量全部剔除(不仅仅是剔除代码);

例如,最后一列,最后一行的代码是‘00039’,我要把前面五列中包涵这个代码的数据(整行)都剔除去;

希望高人能够帮助解答,谢谢

[此贴子已经被作者于2008-7-30 15:08:59编辑过]

二维码

扫码加我 拉你入群

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

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

关键词:筛选数据 条件筛选 股票代码 华联控股 沙河股份 数据 条件 筛选

回帖推荐

luijb 发表于6楼  查看完整内容

data raw1;input var1 $ var2 $ var3 yymmdd10. var4 $ var5 $;format var3 yymmdd10.;cards;000001 深发展A 2007-12-31 金融 0001 000002 万科A 2007-12-31 房地产 0003 000006 深振业A 2007-12-31 房地产 0003000012 南玻A 2007-12-31 工业 0005 000014 沙河股份 2007-12-31 房地产 0003 000016 深康佳A 2007-12-31 工业 0005  000019 深深宝A 2007-12-31 工业 0005000021 长城开发 2007-12-31 工业 0005  000022 深赤 ...

coogee 发表于4楼  查看完整内容

新手,所以不敢说我的办法是好的: 1. 先分成两个文件,2. 然后合并. data sub1;  set original(keep=var6);   /*your data name I use "original", variable name for the last column is called "var6"*/run;data sub2;  set original(drop=var6);run;proc sort data=sub1;  by var1;run;proc sort data=sub2(rename=(var6=var1);/* not very sure about the order followed with rename command, ne ...

本帖被以下文库推荐

沙发
jaywalk 发表于 2008-7-30 13:23:00

没明白,请详细说明。

藤椅
steve66 发表于 2008-7-30 15:01:00

我重复解释一下,

我现在的数据是一些公司的资料,这些资料共分五个变量,“股票代码, 股票简称, 统计日期,行业, 行业代码”

但是我想从这里面剔除一些公司,剔除的条件就是ROE>200%(就是最后一个列的内容),剔除的时候要把(ROE>200%)公司的所有五个变量全剔除(不光是剔除代码),我不知道应该怎样作,希望各位帮忙指教;

板凳
coogee 发表于 2008-7-30 18:29:00

huifu

新手,所以不敢说我的办法是好的: 1. 先分成两个文件,2. 然后合并.
 data sub1;
  set original(keep=var6);   /*your data name I use "original", variable name for the last column is called "var6"*/
run;

data sub2;
  set original(drop=var6);
run;
proc sort data=sub1;
  by var1;
run;

proc sort data=sub2(rename=(var6=var1);/* not very sure about the order followed with rename command, needs double check*/
  by var1;
run;
 
data match;
  merge sub1(in=ina) sub2(in=inb);
by var1;
  if ina and not inb;
run;

 



已有 1 人评分经验 论坛币 收起 理由
bakoll + 5 + 5 精彩帖子

总评分: 经验 + 5  论坛币 + 5   查看全部评分

报纸
steve66 发表于 2008-8-1 09:46:00

感谢coogee

能帮我解释一下

in=ina in=inb

if ina and not inb

这两句是什么意思

谢谢

地板
luijb 在职认证  发表于 2008-8-2 10:18:00

data raw1;
input var1 $ var2 $ var3 yymmdd10. var4 $ var5 $;
format var3 yymmdd10.;
cards;
000001 深发展A 2007-12-31 金融 0001
000002 万科A 2007-12-31 房地产 0003
000006 深振业A 2007-12-31 房地产 0003
000012 南玻A 2007-12-31 工业 0005
000014 沙河股份 2007-12-31 房地产 0003
000016 深康佳A 2007-12-31 工业 0005 
000019 深深宝A 2007-12-31 工业 0005
000021 长城开发 2007-12-31 工业 0005 
000022 深赤湾A 2007-12-31 公用事业 0002
000023 深天地 2007-12-31 房地产 0003
000024 招商地产 2007-12-31 房地产 0003
000025 特力A 2007-12-31 综合 0004
000026 飞亚达A 2007-12-31 工业 0005
000027 深圳能源 2007-12-31 工业 0005
000028 一致药业 2007-12-31 工业 0005
000029 深深房A 2007-12-31 房地产 0003
000031 中粮地产 2007-12-31 房地产 0003
000032 深桑达A 2007-12-31 工业 0005
000033 新都酒店 2007-12-31 商业 0006
000036 华联控股 2007-12-31 工业 0005
000037 深南电A 2007-12-31 工业 0005
000039 中集集团 2007-12-31 工业 0005
;
run;
data raw2;
input var1 $ @@;
cards;
000013 000017  000030 000035 000156 000405 000529 000536
000536  000542 000556 000560 000566  000592  000613 000620
000621  000631  000633  000658 000675  000039
;
run;

data result(drop=rc);
set raw1;
if _n_=1 then do;
declare hash share(dataset:'work.raw1',order:'ascending');
share.definekey('var1');
share.definedata(all:'yes');
share.definedone();
end;
set raw2;
rc=share.find(key:var1);
if rc^=0;
run;

我这个可能要简单一些,前面的都是读数据,实际筛选的就后面的10行!~抛砖引玉阿

已有 2 人评分论坛币 学术水平 热心指数 收起 理由
bakoll + 5 精彩帖子
lin103215 + 1 + 1 热心帮助其他会员

总评分: 论坛币 + 5  学术水平 + 1  热心指数 + 1   查看全部评分

西格玛临床统计服务工作室http://www.sigma-stat.com/,luijb@163.com

7
steve66 发表于 2008-8-4 12:13:00
多谢luijb

8
lin103215 发表于 2013-4-9 21:53:36
luijb 发表于 2008-8-2 10:18
data raw1;input var1 $ var2 $ var3 yymmdd10. var4 $ var5 $;format var3 yymmdd10.;cards;000001 深发展 ...
执行了一下 发现是ordered

9
lin103215 发表于 2013-4-9 21:53:38
luijb 发表于 2008-8-2 10:18
data raw1;input var1 $ var2 $ var3 yymmdd10. var4 $ var5 $;format var3 yymmdd10.;cards;000001 深发展 ...
执行了一下 发现是ordered

10
lin103215 发表于 2013-4-9 21:53:39
luijb 发表于 2008-8-2 10:18
data raw1;input var1 $ var2 $ var3 yymmdd10. var4 $ var5 $;format var3 yymmdd10.;cards;000001 深发展 ...
执行了一下 发现是ordered

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

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