You may need to escape the .
which is a special character that means “any character” (from @Mr Flick’s comment)
gsub('\\.', '-', x)
#[1] "2014-06-09"
Or
gsub('[.]', '-', x)
#[1] "2014-06-09"
Or as @Moix mentioned in the comments, we can also use fixed=TRUE
instead of escaping the characters.
gsub(".", "-", x, fixed = TRUE)