楼主: ohohapple
2705 6

[原创博文] 【求助】SAS中如何删除重复的关系对 [推广有奖]

  • 0关注
  • 0粉丝

学前班

90%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
36 点
帖子
3
精华
0
在线时间
3 小时
注册时间
2010-1-11
最后登录
2011-6-8

楼主
ohohapple 发表于 2011-5-30 15:27:54 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
数据形式如下:       列A  列B
1    红    蓝
2    红    绿
3    蓝    红
4    蓝    绿
……………

认为obs1(红-蓝)与obs3(蓝-红)是重复的观测对,要把obs3删掉,如何实现这一功能。
数据很多,最好给出程序。

坐等各位解答,谢过了!
二维码

扫码加我 拉你入群

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

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

关键词:如何实现 数据形式 obs 如何 程序 最好

本帖被以下文库推荐

沙发
honghejing 发表于 2011-5-30 15:47:52
先把颜色按照2次幂进行format,然后对值a1,a2进行数学运算,然后sort 取nodupkey

藤椅
ohohapple 发表于 2011-5-30 16:24:40
楼上可不可以说的详细点啊?谢谢了~

板凳
honghejing 发表于 2011-5-30 16:54:17
比如有7种颜色,我们可以取
proc format;
   invalue color
   "红"=1
   “橙”=2
   “黄”=4
   “绿”=8
   “蓝”=16
   ...

run;
data b;
   set a;
   a1=input(a,color.);
   b1=input(b,color.);
   c=a1+b1;
   drop a1 b1;
run;

proc sort data=b nodupkey;
   by c;
run;
已有 1 人评分学术水平 收起 理由
soporaeternus + 2 精彩帖子

总评分: 学术水平 + 2   查看全部评分

报纸
ohohapple 发表于 2011-5-30 18:28:39
多谢楼上热心解答,但是我数据太多了,有60000条观测,而且为了方便提问,我用了颜色来代替字符串,其实是8个字节的字符串,要是用幂来format的话,是不大可能实现的~还是多谢了!

地板
hopewell 发表于 2011-5-30 19:12:20
  1. data raw;
  2.     input col1 $ col2 $;
  3.     id=_n_;
  4. datalines;
  5. red blue
  6. red green
  7. blue red
  8. blue green
  9. ;
  10. data _null_;
  11.     length col1 col2 $20;
  12.     if _n_=1 then do;
  13.         declare hash h(hashexp:4);
  14.         rc=h.defineKey('col1','col2');
  15.         rc=h.defineData('col1','col2','id');
  16.         rc=h.defineDone();
  17.         call missing(col1,col2,id);
  18.     end;
  19.     set raw end=last;
  20.     if h.find() and h.find(key:col2,key:col1) then rc=h.add();
  21.     if last then rc=h.output(dataset:'work.out');
  22. run;
复制代码
已有 1 人评分学术水平 热心指数 收起 理由
醉_清风 + 1 + 1 精彩帖子

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

观钓颇逾垂钓趣 种花何问看花谁

7
honghejing 发表于 2011-5-31 16:43:53
首先把数据中重复出现的去掉,然后给这些颜色定义顺序,比如说1,2,3.....,也可以不用定义颜色的顺序,因为我们也可以比较字符串的大小顺序。然后比较两组的大小顺序,对于同一行如果a1《=a2,我们保持col1和col2的值保持不便,否则将col1和col2的值调换一下。然后sort取唯一的值

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-26 06:34