我有几行数据(标签分隔).我想找到与每行中两列(第3和第4列)中的元素匹配的行,其中包含另外两列(第10和第11列).例如,在行1中,列3和4中的95428891和95443771 匹配行19中的列10和11中的元素.同样,倒数也是如此.中的元素的列3和4中第19行也匹配元件列10和11在第1行.我需要能够遍历每一行并输出相应匹配的行索引.有时可能只有一列匹配而不是两者(因为有时会有重复的数字),但我只需要选择两列匹配的行以及相互匹配的行.因此,输出具有倒数匹配的行索引是个好主意,例如,1和19作为制表符分隔值(可能在不同的data.frame对象中).并且没有相互匹配的行可以单独输出.我试图在R中实现它来运行几行数据.
1313 chr2 95428891 95443771 14880 chr2:96036782 205673 + chr2 96036782 96052481
1313 chr2 95428896 95443771 14875 chr2:97111880 205214 - chr2 97111880 97127588
1313 chr2 95443771 95526464 82693 chr2:95609272 1748861 - chr2 95609272 95691902
1313 chr2 95477143 95486318 9175 chr2:97616847 177391 + chr2 97616847 97626039
1313 chr2 95486323 95521267 34944 chr2:97035158 268351 + …Run Code Online (Sandbox Code Playgroud) 我在一个文件夹中有几百个文件.这些文件中的每一个都是制表符分隔的文本文件,其中包含超过一百万行和27列.从每个文件,我希望只能提取特定的列(比如只拉出列:1,2,11,12,13).第3:10和第14:27栏可以忽略不计.我希望能够对文件夹中的所有文件(比如2300个文件)执行此操作.每个2300文件中的列看起来像这样..........
Sample.ID SNP.Name col3 col10 Sample.Index Allele1...Forward Allele2...Forward col14 ....col27
1234567890_A rs758676 - - 1 T T - ....col27
1234567890_A rs3916934 - - 1 T T - ....col27
1234567890_A rs2711935 - - 1 T C - ....col27
1234567890_A rs17126880 - - 1 - - - ....col27
1234567890_A rs12831433 - - 1 T T - ....col27
1234567890_A rs12797197 - - 1 T C - ....col27
Run Code Online (Sandbox Code Playgroud)
第二个文件中的剪切列可能如下所示....
Sample.ID SNP.Name col3 col10 Sample.Index Allele1...Forward Allele2...Forward col14 ....col27
1234567899_C rs758676 - - 100 T …Run Code Online (Sandbox Code Playgroud) 我使用ellipsoidhull()函数来导出一个椭圆,该椭圆界定x,y坐标中的所有点.然后我使用point.in.polygon()函数来预测一组新的X,Y坐标是否落在椭圆内部/外部.
而不是绘制一个限定(x,y)中所有点的椭圆,是否可以使用80%的点?可以选择80%的点以形成最紧凑或最小的椭圆区域.
> xy
x y
3.076 5.208
3.046 5.123
2.993 5.108
3.062 5.134
3.168 5.223
3.138 5.284
3.166 5.319
3.226 5.411
3.262 5.417
3.215 5.234
3.086 5.019
3.199 5.167
3.274 5.596
3.293 5.608
3.195 5.396
3.294 5.374
2.974 5.539
3.268 5.377
3.192 5.298
3.08 4.916
3.117 4.985
3.128 5.118
3.21 5.373
3.184 5.282
3.27 5.291
3.074 5.175
> Query
X Y
3.03 5.008
2.99 5.018
2.987 4.944
2.994 4.899
2.911 4.963
2.913 4.942
2.966 4.969
3.079 5.011
3.096 5.268 …Run Code Online (Sandbox Code Playgroud)