全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2218 9
2013-06-27
数据结构如下,我想把每一行中,第四列往后(包含第四列)的元素值:如果等于0,则将其换成第二列(p1)在该行的值;如果等于1,则换成第二列(p2)在该行的值;如果是小短线 (-),则替换成星号(*)。请问代码该怎么写?非常感谢!

name

p1

p2

FF047H16622

FF047H16606

FF047H16609

FF047H16642

FF047H16647

PZE101001116

A

C

0

1

0

1

0

SYN35330

C

A

0

1

0

1

0

SYN35333

G

T

0

1

0

1

0

SYN35328

G

T

-

1

0

1

0

PZE101002282

T

G

0

1

0

1

0

SYN11121

A

C

0

1

0

1

0

SYN11114

G

T

0

1

0

1

0


二维码

扫码加我 拉你入群

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

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

全部回复
2013-6-27 13:41:56
基因snp分析?
二维码

扫码加我 拉你入群

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

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

2013-6-27 14:23:07
  array tmp FF047H16622 -- FF047H16647;
  do over tmp;
     tmp=ifc(tmp="0",p1, ifc(tmp="1",p2, ifc(tmp="-","*",tmp)));
  end;
二维码

扫码加我 拉你入群

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

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

2013-6-27 14:32:58
Imasasor 发表于 2013-6-27 13:41
基因snp分析?
是啊。版主你也是做这个的?
二维码

扫码加我 拉你入群

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

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

2013-6-27 14:34:57
pobel 发表于 2013-6-27 14:23
array tmp FF047H16622 -- FF047H16647;
  do over tmp;
     tmp=ifc(tmp="0",p1, ifc(tmp="1",p2, if ...
谢谢!很受益!
二维码

扫码加我 拉你入群

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

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

2013-7-8 16:00:54
pobel 发表于 2013-6-27 14:23
array tmp FF047H16622 -- FF047H16647;
  do over tmp;
     tmp=ifc(tmp="0",p1, ifc(tmp="1",p2, if ...
经常看到你的帖子,真心佩服!
这里有这样的问题,我用的您的code,但是有All variables in array list must be the same type, i.e., all numeric or character  这样的错误;
FF047H16622 -- FF047H16647
这几列的数据类型是不一样的啊
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群