double for循环中的if语句:特定示例

double for循环中的if语句:特定示例,r,if-statement,bioinformatics,R,If Statement,Bioinformatics,我正在写一个比较两个数据帧的短代码-list和knownlocation。我想知道列表中的每个项目是否属于已知位置 colnames(list) <- c("gene_symbol", "chromo", "start", "end") colnames(knownlocation) <- c("snp", "chr", "s", "e") colnames(list)问题是else子句将在以前发现TRUE的实例上用FALSE覆盖。基本上,您只希望在满足条件时存储TRUE,但在执行

我正在写一个比较两个数据帧的短代码-list和knownlocation。我想知道列表中的每个项目是否属于已知位置

colnames(list) <- c("gene_symbol", "chromo", "start", "end")
colnames(knownlocation) <- c("snp", "chr", "s", "e")

colnames(list)问题是
else
子句将在以前发现
TRUE
的实例上用
FALSE
覆盖。基本上,您只希望在满足条件时存储
TRUE
,但在执行循环之前将所有值初始化为
FALSE

尝试删除
else
子句

要使用
FALSE
初始化
列表的第5列
,请在嵌套循环之前执行以下操作:

list$V5 = FALSE
代码:

list$V5=TRUE
适用于(i/1:nrow(列表)){
对于(1中的j:nrow(已知位置)){

如果((list[i,2]==knownlocation[j,2])&&(list[i,3]>=knownlocation[j,3])&&(list[i,4]谢谢你,这个方法非常有效。
list$V5 = FALSE
list$V5=TRUE
for (i in 1:nrow(list)) {
  for (j in 1:nrow(knownlocation)) {
    if ( (list[i, 2] == knownlocation[j, 2]) && (list[i, 3] >= knownlocation[j, 3]) && (list[i, 4] <= knownlocation[j, 4]) ) {
      list[i, 5] = "TRUE" }
}