Dear all:
I have IntegerList which has different numeric index. in particular, I am trying to figure out how to detect and replace 0
index in IntergerList with integer(0).
How can I make this sort of manipulation efficiently? Does anyone knows any trick of doing this?
This is different in R, and I am expecting latter:
> length(0) [1] 1 > length(integer(0)) [1] 0
# data
foo <- list( idx1 <- IntegerList(1,2,3,0,4,0,0,6), idx2 <- IntegerList(1,1,1,2,0,3,4,0), idx3 <- IntegerList(1,2,4,4,5,0,6,7) )
My idea is find out way to detect zero index in IntegerList, if I detect such index then it must be replaced with integer(0). I am trying to figure out which way I can detect zero index in very long IntegerList. This is my very first attempt to solve, but I bet there must have better way to solve it.
tmp <- lapply(foo, function(ele_) { res <- sapply(ele_, function(tt) { ans <- ifelse(is.na(tt), integer(0), tt) }) })
# my desired output
desired_list <- list( idx1_ <- IntegerList(1,2,3, integer(0), 4, integer(0), integer(0), 6), idx2_ <- IntegerList(1,1,1,2, integer(0), 3, 4, integer(0)), idx3_ <- IntegerList(1,2,4,4,5, integer(0), 6, 7) )
How can I accomplish this easily/elegantly? Is there anyone give me possible idea for doing this? Thanks a lot
This is perfect. Thank you.