楼主: dxystata
1789 4

如何产生一个标记变量 [推广有奖]

版主

已卖:302份资源

大师

37%

还不是VIP/贵宾

-

TA的文库  其他...

Software

中英文Ebook

R学习

威望
2
论坛币
183395 个
通用积分
15333.1475
学术水平
208 点
热心指数
271 点
信用等级
174 点
经验
298627 点
帖子
5586
精华
1
在线时间
13632 小时
注册时间
2006-6-21
最后登录
2025-12-22

初级学术勋章 初级热心勋章 中级热心勋章 初级信用勋章

楼主
dxystata 发表于 2016-11-11 23:31:38 |AI写论文
50论坛币

  1. data aaa;
  2. input no zb visit x;
  3. cards;
  4. 1 a 1 1
  5. 1 a 2 1
  6. 1 a 3 1
  7. 1 a 4 1
  8. 1 a 5 1
  9. 1 b 1 1
  10. 1 b 2 2
  11. 1 b 3 1
  12. 1 b 4 1
  13. 1 b 5 1
  14. 1 c 1 1
  15. 1 c 2 1
  16. 1 c 3 2
  17. 1 c 4 1
  18. 1 c 5 1
  19. 2 a 1 1
  20. 2 a 2 1
  21. 2 a 3 3
  22. 2 a 4 1
  23. 2 a 5 1
  24. 2 b 1 2
  25. 2 b 2 1
  26. 2 b 3 1
  27. 2 b 4 1
  28. 2 b 5 1
  29. 2 c 1 1
  30. 2 c 2 1
  31. 2 c 3 2
  32. 2 c 4 1
  33. 2 c 5 .
  34. ;
  35. run;
复制代码

每个个体每个指标在visit=1 其x是1 和 visit>1 其x是2或3时, 其标记变量取值为y
no zb visit x tag
1 a 1 1
1 a 2 1
1 a 3 1
1 a 4 1
1 a 5 1
1 b 1 1  y
1 b 2 2  y
1 b 3 1  y
1 b 4 1  y
1 b 5 1  y
1 c 1 1  y
1 c 2 1  y
1 c 3 2  y
1 c 4 1  y
1 c 5 1  y
2 a 1 1  y
2 a 2 1  y
2 a 3 3  y
2 a 4 1  y
2 a 5 1  y
2 b 1 2
2 b 2 1
2 b 3 1
2 b 4 1
2 b 5 1
2 c 1 1  y
2 c 2 1  y
2 c 3 2  y
2 c 4 1  y
2 c 5 .  y


谢谢!

关键词:Visit Input cards visi Data 如何

沙发
wwang111 发表于 2016-11-12 08:32:02
第一行, visit=1, x=1, 结果为什么不是y ?

藤椅
wang1839 在职认证  发表于 2016-11-12 08:35:59
if (visit=1 & x=1) |(vist>1 & x in(2 3)) then tag="Y";

板凳
dxystata 发表于 2016-11-12 10:45:19
wwang111 发表于 2016-11-12 08:32
第一行, visit=1, x=1, 结果为什么不是y ?
每个个体每个指标在visit=1 其x是1 和 visit>1 其x是2或3时

报纸
wwang111 发表于 2016-11-12 11:01:22
data aaa1;
set aaa;
if visit=1 and x=1 then flag1='Y';
if visit>1 and x in (2,3) then flag2='Y';
run;

proc sql;
create table wanted(drop=flag1 flag2) as
select *, "Y" as tag
from aaa1
group by 1,2
having sum(flag1="Y")>0 and sum(flag2="Y")>0
union
select *, " " as tag
from aaa1
group by 1,2
having not (sum(flag1="Y")>0 and sum(flag2="Y")>0)
order by no, zb, visit;
quit;


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

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