# Appending missing items in a column of lists

I would like to add a `0` and `1000000`, to each list in which they are missing.

``````dat <- structure(list(cat = structure(c(1L, 3L, 2L), levels = c("A",
"B", "C"), class = "factor"),
strata = list(c(25, 100, 250, 500), c(25,
100, 250, 500), c(25, 100, 1000000
))), row.names = c(NA, -3L), class = c("data.table", "data.frame"
))

cat                  strata
1:   A          25,100,250,500
2:   C          25,100,250,500
3:   B      25,    100,1000000
``````

I tried to do the following:

``````    dat\$strata <- lapply(dat\$strata, \(x){
if (0 %nin% dat\$strata) {
dat\$strata<- append(0, dat\$strata)
}
if (1000000 %nin% dat\$strata) {
dat\$strata<- append(dat\$strata, 1000000)
}
})
``````

But I am doing something wrong.

Desired output:

``````   cat                  strata
1:   A       0,  25,100,250,500,1000000
2:   C        0, 25,100,250,500,1000000
3:   B     0, 25,    100,1000000
``````

What is the correct syntax here?

### >Solution :

An easy way is to add the 0 and 1000000 everywhere and take the unique values

``````dat\$strata[] <- lapply(dat\$strata, function(i)unique(c(0, i, 1000000)))

dat
cat                        strata
1   A 0, 25, 100, 250, 500, 1000000
2   C 0, 25, 100, 250, 500, 1000000
3   B           0, 25, 100, 1000000
``````