Commit 679b62805671e900eb8f790c2866f091b576180d
1 parent
6b8f81e7b3
Exists in
master
completed code for path finding(TESTING)
Showing
1 changed file
with
44 additions
and
12 deletions
Show diff stats
RMarkovBlanket.r
1 | 1 | #Efrain Gonzalez |
2 | -#8/28/2017 | |
2 | +#8/25/2017 | |
3 | 3 | #Code for Markov Blanket |
4 | 4 | |
5 | 5 | |
... | ... | @@ -289,7 +289,7 @@ k = d |
289 | 289 | prevar <- VariableEndName |
290 | 290 | Pathlisting <- vector("list",length = d) |
291 | 291 | Pathlisting[[d]] <- prevar |
292 | -for(k in d:1){ | |
292 | +for(k in d:2){ | |
293 | 293 | if(k == d){ |
294 | 294 | for(ship in 1:length(AllVarList[[d]])){ |
295 | 295 | if(sum(grepl(paste0("^",VariableEndName,"$"),AllVarList[[d]][[ship]])) > 0){ |
... | ... | @@ -345,20 +345,52 @@ for(k in d:1){ |
345 | 345 | |
346 | 346 | } else if(modship == 1){ |
347 | 347 | #When modship == 1 then we are referring to a Parent |
348 | - LCofVar <- grep(paste0("^",prevar,"$"),NewDotP2_2[,1]) | |
349 | - CoVar <- NewDotP2_2[LCofVar,1] | |
350 | - lenC <- length(CoVar) | |
351 | - for(o in 1:lenC){ | |
352 | - if(grepl(CoVar[o],AllVarList[[k]][[intship]]) == TRUE){ | |
353 | - | |
354 | - | |
348 | + lengprevar <- length(prevar) | |
349 | + t <- 1 | |
350 | + ##All children of these parents | |
351 | + TCoVar <- vector("character",length = 0) | |
352 | + ##variables that could have led to these parents | |
353 | + leadVar <- vector("character",length = 0) | |
354 | + for(t in 1: lengprevar){ | |
355 | + LCofVar <- grep(paste0("^",prevar[t],"$"),NewDotP2_2[,1]) | |
356 | + CoVar <- NewDotP2_2[LCofVar,2] | |
357 | + TCoVar <- append(TCoVar,CoVar) | |
358 | + } | |
359 | + TCoVar <- TCoVar[!duplicated(TCoVar)] | |
360 | + s <- 1 | |
361 | + ##Searching for the children that are also in the previous degree | |
362 | + for(s in 1:length(TCoVar)){ | |
363 | + if(sum(grepl(TCoVar[s],AllVarList[[(k - 1)]][[intship]])) >= 1){ | |
364 | + leadVar <- append(leadVar,TCoVar[s]) | |
355 | 365 | } |
356 | - | |
357 | 366 | } |
358 | - | |
367 | + leadVar <- leadVar[!duplicated(leadVar)] | |
368 | + prevar <- leadVar | |
359 | 369 | |
360 | 370 | } else if(modship == 2){ |
361 | - #When modship == 0 then we are referring to a Child | |
371 | + #When modship == 2 then we are referring to a Child | |
372 | + lenprevar <- length(prevar) | |
373 | + x <- 1 | |
374 | + ##All parents of these children | |
375 | + TPoVar <- vector("character",length = 0) | |
376 | + ##variables that could have led to these children based on the | |
377 | + drctVar <- vector("character",length = 0) | |
378 | + for(x in 1:lenprevar){ | |
379 | + LPoVar <- grep(paste0("^",prevar[x],"$"),NewDotP2_2[,2]) | |
380 | + PoVar <- NewDotP2_2[LPoVar,1] | |
381 | + TPoVar <- append(TPoVar,PoVar) | |
382 | + } | |
383 | + TPoVar <- TPoVar[!duplicated(TPoVar)] | |
384 | + y <- 1 | |
385 | + ##Searching for the parents that are also in the previous degree | |
386 | + for(y in 1:length(TPoVar)){ | |
387 | + if(sum(grepl(TPoVar[y],AllVarList[[(k - 1)]][[intship]])) >= 1){ | |
388 | + drctVar <- append(drctVar,TPoVar[y]) | |
389 | + } | |
390 | + } | |
391 | + drctVar <- drctVar[!duplicated(drctVar)] | |
392 | + prevar <- drctVar | |
393 | + | |
362 | 394 | |
363 | 395 | } |
364 | 396 |