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.