我有这样的文件
Ind M1 M2 M3 M4 M5
P1 AA -/- GG CC TT
P2 TT AA GG TT CC
1 TT GG CC AA GG
2 GG CC TT GG CC
3 AA TT GG CC TT
4 CC GG TT AA CC
5 GG CC AA CC TT
我想检查P1和P2是否匹配M1,如果它们匹配,那么应该选择该列并写入outfile,这样我想继续剩下的列直到M5。我是R的新手,尝试使用嵌套for循环,但无法得到它。 excel非常简单,但问题是我的数据中有超过44k列。如果R将它们降低到16000以下那么我可以在excel中工作以进行进一步的分析。在这方面有谁可以帮助我?任何帮助将受到高度赞赏 提前致谢 此致
答案 0 :(得分:0)
如果我理解正确你想存储M1的列,如果它们与P1和P2匹配,如果是这种情况,我会这样做:
tmp <- matrix(rep(1,20),nrow = 4, ncol = 5)
tmp <- as.data.frame(tmp)
tmp <- setNames(tmp, letters[1:5])
names_int <- c("a","b", "c")
output <- sapply(names_int, function(x){
if(identical(tmp[[x]], tmp[["d"]]) & identical(tmp[[x]], tmp[["e"]])){
return(tmp[[x]])
}})
其中&#34; d&#34;和&#34; e&#34;将是您的P1和P2,names_int是您要匹配的变量的名称