小编use*_*407的帖子

在多个列上嵌套if else语句

我有一个大data.frame的前三列包含有关标记的信息.其余列是每个人中该标记的数字类型.每个人都有三列.数据集如下所示:

                      marker alleleA alleleB   X818 X818.1 X818.2   X345 X345.1 X345.2   X346 X346.1 X346.2
1   kgp5209280_chr3_21902067       T       A 0.0000 1.0000 0.0000 1.0000 0.0000 0.0000 0.0000 1.0000 0.0000
2 chr3_21902130_21902131_A_T       A       T 0.8626 0.1356 0.0018 0.7676 0.2170 0.0154 0.8626 0.1356 0.0018
3 chr3_21902134_21902135_T_C       T       C 0.6982 0.2854 0.0164 0.5617 0.3749 0.0634 0.6982 0.2854 0.0164
Run Code Online (Sandbox Code Playgroud)

也就是说,对于每个标记(行),每个个体具有三个值,每列一个.

我想创建一个新的data.frame,它具有与原始行相同的所有行,但每个人只有一列.在每个人的一栏中,我希望每个人的三个值大于0.8.如果没有大于0.8的值,那么我想打印NA.例如,在我为第一行给出的数据集中,我希望第二个值为818(1.0000),第一个值为345(1.0000).在第二行中,我想要第一个值为818(0.8626),而对于345,没有一个值高于0.8,所以我希望NA打印,依此类推.因此,新数据集如下所示:

                     marker alleleA alleleB   X818 X345
1   kgp5209280_chr3_21902067       T       A 1.0000    1
2 chr3_21902130_21902131_A_T       A       T 0.8626   NA
Run Code Online (Sandbox Code Playgroud)

我一直试图使用if/else语句, …

loops if-statement r dataframe

7
推荐指数
1
解决办法
2129
查看次数

组合R中的重复行并添加包含重复ID的新列

我有一个如下所示的数据框:

Chr start   stop    ref alt Hom/het ID  
chr1    5179574 5183384 ref Del Het 719  
chr1    5179574 5184738 ref Del Het 915  
chr1    5179574 5184738 ref Del Het 951  
chr1    5336806 5358384 ref Del Het 376  
chr1    5347979 5358384 ref Del Het 228  
Run Code Online (Sandbox Code Playgroud)

我想合并任何重复的行,组合最后一个ID列,以便所有ID都在一行/列中,如下所示:

Chr start   stop    ref alt Hom/het ID  
chr1    5179574 5183384 ref Del Het 719  
chr1    5179574 5184738 ref Del Het 915, 951 
chr1    5336806 5358384 ref Del Het 376  
chr1    5347979 5358384 ref Del Het 228 …
Run Code Online (Sandbox Code Playgroud)

aggregate r duplicates

6
推荐指数
1
解决办法
5553
查看次数

标签 统计

r ×2

aggregate ×1

dataframe ×1

duplicates ×1

if-statement ×1

loops ×1