楼主: dxystata
708 1

[问答] 如何产生一个新变量,标记为Y。 [推广有奖]

版主

已卖:302份资源

大师

37%

还不是VIP/贵宾

-

TA的文库  其他...

Software

中英文Ebook

R学习

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

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

楼主
dxystata 发表于 2019-5-14 09:18:05 |AI写论文
15论坛币
  1. data aaa;
  2. input id line x;
  3. cards;
  4. 1 1 1
  5. 1 1 2
  6. 1 2 2
  7. 2 1 2
  8. 2 2 2
  9. 2 2 3
  10. 3 1 1
  11. 3 2 1
  12. 3 3 2
  13. ;
  14. run;
复制代码
如何产生一个新变量,给个体中每个line的x取值最小的一行,标记为Y。
谢谢!

最佳答案

luekemia 查看完整内容

理解的是根据id和line分组,代码如下: data aaa; input id line x; cards; 1 1 1 1 1 2 1 2 2 2 1 2 2 2 2 2 2 3 3 1 1 3 2 1 3 3 2 ; run; proc sort data = aaa; by id line x; run; data bbb;set aaa; by id line; if first.line then Y='Y'; run; 如果只是针对line分组,代码: proc sort data = aaa; by line x; run; data bbb;set aaa; by line; if first.line then Y='Y'; run;
关键词:新变量 Input cards line Data

沙发
luekemia 发表于 2019-5-14 09:18:06
理解的是根据id和line分组,代码如下:
data aaa;
input id line x;
cards;
1 1 1
1 1 2
1 2 2
2 1 2
2 2 2
2 2 3
3 1 1
3 2 1
3 3 2
;
run;

proc sort data = aaa;
by id line x;
run;

data bbb;set aaa;
by id line;
if first.line then Y='Y';
run;

如果只是针对line分组,代码:
proc sort data = aaa;
by line x;
run;

data bbb;set aaa;
by line;
if first.line then Y='Y';
run;

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

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