Do you get an error message? How does your plot look compared to what you expect it to look like?
It's a little hard to diagnose the problem without access to your data, but here is an example of how you would do it, using the nc dataset which is part of the sf pacakge:
library(tidyverse)
library(sf)
nc <- read_sf(system.file("shape/nc.shp", package = "sf"), quiet = TRUE)
nc_sf <- nc %>%
select(FIPS)
nc_data <- nc %>%
st_drop_geometry() %>%
select(FIPS, SID79)
nc_sf %>%
left_join(nc_data, by = "FIPS") %>%
ggplot(aes(fill = SID79)) +
geom_sf()

Created on 2020-05-26 by the reprex package (v0.3.0)