Olá, pessoal! Testei as dicas passadas e esta variação também parece atender a pedida.

dia   <- c(1,2,4,1,4)
local <- c(1,1,1,2,2)
dado1 <- c(0.10,0.15,0.20,0.27,0.15)
dado2 <- c(15,16,20,23,25)
dados <- data.frame(dia,local,dado1,dado2); dados
tmp   <- data.frame(dia=c(1:4,1:4),local=c(rep(1,4),rep(2,4))); tmp
dados <- merge(tmp,dados,all=T); dados ### desordenado
dados[order(dados$local),] ### ordenando
str(dados) ### verifica estrutura

Saudações,

================================================
Éder Comunello

Ph.D. Student in Agricultural Systems Engineering (USP/ESALQ)
Piracicaba, SP, Brazil [22 42.7'S, 47 37.8'W]

Researcher at Embrapa Western Region Agriculture
Dourados, MS, Brazil [22 16.5'S, 54 49.0'W]
================================================
UTC-03:00