You can also simply use a Color Mix node, since vectors (XYZ) are basically the same as textures (RGB) if you stretch your brain a bit. There's nothing stopping you from plugging purple dots into yellow ones almost anywhere. The same goes for the grey dot (values), the only exception is the green one for shaders.
UVs are two dimensional, so they only have X and Y, or R and G (Though other texture coordinates have a Z/B component). Plug the UVs into a shader's color input and you'll see what I mean. This allows us to manipulate UVs just like textures before plugging them into the Vector of the image (or any texture).
The top images are the standard UVs and an image mapped with them, and the bottom ones are the same UVs mixed with another texture, then used to map the same brick image.
Read more about it here: http://adaptivesamples.com/2013/07/31/cif-4-uvs-are-colours/
This is the node setup for the bottom images: