Adding alpha value to imager object


I am working on a function which superimposes two images on top of each other using R. Images are stored as .jpg files, with the paths to each image stored in a csv file so the function knows which images to superimpose.

Images are loaded in with the imager package (load.image()), and at this point I want to set an alpha (translucency) value, otherwise I can only see the top image after they are superimposed.

The two source images for each superimposition are two-tone thresholded black and white images, which I've used the following code to colourise and create cyan and magenta versions of the images: (slightly modified for im2)
im1 <- as.raster(
t(matrix(1, nrow = height, ncol = width)),
t(matrix(1, nrow = height, ncol = width)),
t(matrix(alpha, nrow = height, ncol = width))
c(height, width, 4)

This code already contains an alpha value (alpha is a variable set at the beginning), but the images don't seem to have any translucency. Is there a reason the code isn't making the images translucent?

They are then converted to Magick objects and superimposed using the following:

Create the two layers of the image in Magick

im1.im2 <- c(im1, im2) # layer up - combo 1
superimposed_imv1 <<- image_mosaic(im1.im2) # superimpose the images

This is supposed to create a single image where both images are visible, but I can only see the front image.

Apologies if my format is a bit off, it's my first time posting on this forum.

Thanks for any help in advance!