# create all combinations of data.frames possible based on unique values of Model, Garage, City
l = split(x, list(x$Model, x$Garage, x$City))
# create csv filrs only if data.frame had any rows in it
lapply(names(l), function(x) if(dim(l[[x]])[1] != 0){write.csv(l[[x]], paste0("path", x,".csv"))})