全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
22183 11
2017-07-20
这个是小弟手头的一组数据(经过简化)
第三列为数据类型,四五列为跨越长度,第九列为特征ID,其余不管

1、首先我想只留下表1第三列为A的行,把A1A2A3的列都去掉,变成表2那样
2、其次,比如以EF为出发点,我想提取出以四五列的长度为依据,向上200、向下200距离的特征ID。比如EF的跨度是301到400,要把它上面100-300的AB,CD的ID,下面400-600的GH,IJ的ID提取出来
3、再进一步,如果要从CD,IL出发,分别同时把CD上下的AB,EF和IL上下的GH,KL的ID提取出来
求问用R应该如何写出程序? 谢谢各位

chr1HAVANAA

100

200

.+.ID = AB
chr1HAVANAA1

100

120

.+.ID = AB
chr1HAVANAA2

121

156

.+.ID = AB
chr1HAVANAA3

157

200

.+.ID = AB
chr1HAVANAA

201

300

.+.ID = CD
chr1HAVANAA1

201

267

.+.ID = CD
chr1HAVANAA2

268

289

.+.ID = CD
chr1HAVANAA3

289

300

.+.ID = CD
chr1HAVANAA

301

400

.-.ID = EF
chr1HAVANAA1

301

345

.-.ID = EF
chr1HAVANAA2

346

378

.-.ID = EF
chr1HAVANAA3

378

400

.-.ID = EF
chr1HAVANAA

401

500

.-.ID = GH
chr1HAVANAA1

401

434

.-.ID = GH
chr1HAVANAA2

434

477

.-.ID = GH
chr1HAVANAA3

477

500

.-.ID = GH
chr1HAVANAA

501

600

.-.ID = IJ
chr1HAVANAA1

501

524

.-.ID = IJ
chr1HAVANAA2

524

568

.-.ID = IJ
chr1HAVANAA3

568

600

.-.ID = IJ
chr1HAVANAA

601

700

.-.ID = KL
chr1HAVANAA1

601

647

.-.ID = KL
chr1HAVANAA2

647

700

.-.ID = KL
表1

chr1HAVANAA

100

200

.+.ID = AB
chr1HAVANAA

201

300

.+.ID = CD
chr1HAVANAA

301

400

.-.ID = EF
chr1HAVANAA

401

500

.-.ID = GH
chr1HAVANAA

501

600

.-.ID = IJ
chr1HAVANAA

601

700

.-.ID = KL
表2
二维码

扫码加我 拉你入群

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

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

全部回复
2017-7-20 13:55:14
2,3条件有点含糊,不好明白作者的意图
二维码

扫码加我 拉你入群

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

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

2017-7-20 14:29:34
colinxf 发表于 2017-7-20 13:55
2,3条件有点含糊,不好明白作者的意图
对于第二点,说的就是只剩下第三列是A的行,其他行都删掉
对于第三点,其实可以这样理解,我从中间的一行出发,比如ID=GH那行,然后对于第四列的其他变量,减去它在+-100以内,我就把对应的ID提取出来,比如301-401=-100,于是把ID=EF取出,下面的501-401=100,于是把ID=IJ提出,用这个条件,我就筛选出了ID=EF和ID=IJ这两个元素
二维码

扫码加我 拉你入群

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

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

2017-7-20 14:41:29
分别对每一个ID进行对4列5列上下100之内的匹配?
二维码

扫码加我 拉你入群

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

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

2017-7-20 15:04:47
colinxf 发表于 2017-7-20 14:41
分别对每一个ID进行对4列5列上下100之内的匹配?
第二部我已经做出来,现在就差第三步

这样说吧,首先我要根据ID名称检索出它所在行数,然后得到所在行的start值或是end值,然后用start值或是end值减去同列的其他所有数值,在一定范围内的我就把对应的ID值提取出来,或者是整行都提取出来
二维码

扫码加我 拉你入群

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

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

2017-7-21 10:57:22
pxh3280 发表于 2017-7-20 15:04
第二部我已经做出来,现在就差第三步

这样说吧,首先我要根据ID名称检索出它所在行数,然后得到所在行 ...
复制代码
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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