楼主: akalius
811 4

根据观测生成数据 [推广有奖]

  • 10关注
  • 3粉丝

讲师

48%

还不是VIP/贵宾

-

威望
0
论坛币
4168 个
通用积分
9.1543
学术水平
4 点
热心指数
6 点
信用等级
6 点
经验
7832 点
帖子
261
精华
0
在线时间
605 小时
注册时间
2009-7-22
最后登录
2024-4-9

楼主
akalius 学生认证  发表于 2017-2-25 10:17:23 |只看作者 |坛友微信交流群|倒序 |AI写论文
200论坛币
原数据
name
小明,张三,李四
王五,小红
小红,小明

想生成 ,即表示二者相关联的

nameco
小明张三
小明李四
张三小明
张三李四
李四小明
李四张三
王五小红
小红王五
小红小明
小明小红

谢谢



关键词:name 张三李四 MEC ECO
沙发
yongyitian 发表于 2017-2-25 10:17:24 |只看作者 |坛友微信交流群
  1. data have;
  2.     input name_co $30. ;
  3. datalines;
  4. XiaoMing  ZhangSan  LiSi
  5. WangWu  XiaoHong
  6. XiaoHong  XiaoMing
  7. ; run;

  8. data want;
  9.    set have;
  10.    n=countw(name_co);
  11.    do i = 1 to n-1;
  12.       do j = i+1 to n;
  13.        name = scan(name_co, i);
  14.          co = scan(name_co, j);
  15.        output;
  16.        name = scan(name_co, j);
  17.          co = scan(name_co, i);
  18.        output;
  19.       end;
  20.     end;
  21.    keep name co;
  22. run;
复制代码
已有 1 人评分经验 收起 理由
李会超 + 80 精彩帖子

总评分: 经验 + 80   查看全部评分

使用道具

藤椅
wang1839 在职认证  发表于 2017-2-25 11:40:40 |只看作者 |坛友微信交流群
提供一个思路吧,首先用COUNT函数和SCAN函数把变量拆分成单个变量,如VAR1-VAR100等,然后调用%DO I=1 %TO COUNT(逗号的数量)
%do j=(i+1) %to (count+1);name=va&i;co=var&j;output;%end;%end;生成数据;最后去重
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
akalius + 5 + 2 + 2 + 2 精彩帖子

总评分: 论坛币 + 5  学术水平 + 2  热心指数 + 2  信用等级 + 2   查看全部评分

使用道具

板凳
akalius 学生认证  发表于 2017-2-28 10:19:44 |只看作者 |坛友微信交流群
yongyitian 发表于 2017-2-25 10:17
请把中文有逗号的情况也写一下

使用道具

报纸
yongyitian 发表于 2017-2-28 10:59:16 |只看作者 |坛友微信交流群
加以个 delimator 试一试; 系统不识中文.

data want;
   set have;
   delim = "," ;
   n=countw(name_co, delim);
    do i = 1 to n-1;
      do j = i+1 to n;
      name = scan(name_co, i, delim);
        co = scan(name_co, j, delim);
        output;
      name = scan(name_co, j, delim);
        co = scan(name_co, i, delim);
        output;
      end;
    end;
    keep name co;
run;

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-24 17:12