楼主: Imasasor
2105 6

[原创博文] 问一个retain变量的问题 [推广有奖]

  • 1关注
  • 64粉丝

VIP

已卖:215份资源

学科带头人

33%

还不是VIP/贵宾

-

TA的文库  其他...

超哥喜欢的文章

威望
1
论坛币
47033 个
通用积分
3.1376
学术水平
238 点
热心指数
246 点
信用等级
231 点
经验
37132 点
帖子
849
精华
3
在线时间
2235 小时
注册时间
2012-7-4
最后登录
2024-10-10

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

楼主
Imasasor 发表于 2012-8-17 17:16:13 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
数据如图所示,a b c三个变量为肿瘤的定性变量,1,3分别代表恶性和不清楚,2代表良性,a1 b1 c1分别是肿瘤部位,附在a b c之后。我想新生成一个变量d,只挑出a b c是1或者3的,
d的值汇总该观测所有恶性和不清楚的肿瘤。第一个人就是“乳腺(1)”,第二个人是“肾(1)”,第三个人是“大脑(1)&乳腺(3)”,这个程序怎么写?
二维码

扫码加我 拉你入群

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

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

关键词:RETAIN ETA RET 如图所示 第三个人 如图所示 程序

retain.jpg (9.26 KB)

retain.jpg

回帖推荐

stormhoof 发表于2楼  查看完整内容

data a(drop=d1 d2 d3) if a in(1,3) then d1=compress('"'||a1||'('||a||')'||'"'); if b in(1,3) then d2=compress('"'||b1||'('||b||')'||'"'); if c in(1,3) then d3=compress('"'||c1||'('||c||')'||'"'); d=catx('&',d1,d2,d3);

本帖被以下文库推荐

沙发
stormhoof 发表于 2012-8-17 17:42:17
data a(drop=d1 d2 d3)
if a in(1,3) then d1=compress('"'||a1||'('||a||')'||'"');
if b in(1,3) then d2=compress('"'||b1||'('||b||')'||'"');
if c in(1,3) then d3=compress('"'||c1||'('||c||')'||'"');
d=catx('&',d1,d2,d3);
已有 1 人评分经验 论坛币 收起 理由
bakoll + 3 + 3 精彩帖子

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

藤椅
Imasasor 发表于 2012-8-17 17:46:41
stormhoof 发表于 2012-8-17 17:42
data a(drop=d1 d2 d3)
if a in(1,3) then d1=compress('"'||a1||'('||a||')'||'"');
if b in(1,3) then  ...
兄弟,这样是可以,但是我有几十个变量呢,我想用array 和do循环来做,可以实现吗,不想生成新变量,再将新变量一个个合并起来
欢迎加入亚太地区第一R&Python数据挖掘群: 251548215;

板凳
Imasasor 发表于 2012-8-17 17:50:24
stormhoof 发表于 2012-8-17 17:42
data a(drop=d1 d2 d3)
if a in(1,3) then d1=compress('"'||a1||'('||a||')'||'"');
if b in(1,3) then  ...
data e;
set ****;
informat dex $10.;
array tumor(3) a b c;
array dep(3) $ a1 b1 c1;
retain dex;
do i=1 to 3;
if tumor(i) in (1,3) then dex=dex||strip(dep(i))||strip(tumor(i));
end;
run;

为什么这样 retain dex的时候,dex就变空了
欢迎加入亚太地区第一R&Python数据挖掘群: 251548215;

报纸
Imasasor 发表于 2012-8-17 18:33:58
是不是我问的问题太难了,没有人会
欢迎加入亚太地区第一R&Python数据挖掘群: 251548215;

地板
limuqi 发表于 2012-8-17 19:31:15
  1. data test;
  2.    input a a1 $ b b1 $ c c1 $;
  3.    datalines;
  4. 1 a . . . .
  5. . . 2 b 1 c
  6. 1 d . . 3 a
  7. ;
  8. run;

  9. data e;
  10. set test;
  11. informat dex $10.;
  12. array tumor{3} a b c;
  13. array dep{3}   $a1 b1 c1;
  14. do i= 1 to 3;
  15. if tumor(i) in (1,3) then dex=catx( ' ', dex,dep(i),tumor(i));
  16. end;
  17. run;
复制代码
根据stormhoof 的回答改编

7
Imasasor 发表于 2012-8-17 20:12:25
limuqi 发表于 2012-8-17 19:31
根据stormhoof 的回答改编
不借,大专生
欢迎加入亚太地区第一R&Python数据挖掘群: 251548215;

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

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