The deployment of Internet of Things (IoT) networks spans a wide range of Service Domains (SDs) covering multiple sectors, such as smart grid and transportation. Each SD has a large number of IoT devices. Thus, a challenging issue in IoT networks is how to allocate the spectrum resources to serve a vast amount of communications traffic, generated by numerous IoT devices in various SDs. In this paper, we address this challenging issue by developing a traffic load-based spectrum virtualisation technique, where the available spectrum for all SDs is shared. The amount of spectrum reserved for exclusive use by each SD is adjusted based on its traffic load. We develop a spectrum sharing model, based on a queuing system, that can be used to model any spectrum sharing policy between various SDs and derive analytical expressions for the blocking probability and spectrum utilisation and show the spectrum virtualisation gain gains over non-virtualised networks.