J'écris un code court qui compare deux dataframes- list & knownlocation. Je veux savoir pour chaque élément dans la liste, si elle se trouve dans un emplacement connu.if instruction within double for loop: exemple spécifique
colnames(list) <- c("gene_symbol", "chromo", "start", "end")
colnames(knownlocation) <- c("snp", "chr", "s", "e")
Pour trouver ce que j'ai écrit le code pour faire une nouvelle colonne dans « liste » dit VRAI ou FAUX que ce soit dans l'une des knownlocation:
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" }
else { list[i, 5] = "FALSE"}
}}
Ce code semble bien pour moi et il court sans erreurs. Le problème est que la liste entière montre FAUX, même si elle tombe dans un emplacement dans l'emplacement connu. Quelqu'un peut-il trouver quelque chose de manifestement faux que j'ai manqué?
cela fonctionne Merci, parfaitement. – user6137877