A dplyr and case_when approach:
library(tidyverse)
freq <- tibble(
freq = c(0, 12, 24, 0, 48, 0)
)
freq %>%
mutate(freq = case_when(freq == 0 ~ 10^(-12),
TRUE ~ freq))
#> # A tibble: 6 × 1
#> freq
#> <dbl>
#> 1 1 e-12
#> 2 1.2e+ 1
#> 3 2.4e+ 1
#> 4 1 e-12
#> 5 4.8e+ 1
#> 6 1 e-12
Created on 2021-10-18 by the reprex package (v2.0.1)