package 'sp' provides classes that can store one of points, lines or polygons, but not the mixture of them. But you can use packages 'sf', that can solve this problem: it is able to contain different geometries (e.g. points and polygons in your case) in a so called Geometry Collection. All the entities (i.e., rows in the data.frame) should have the same fields (i.e., columns in the data.frame), but non-relevant fields can be simply NAs.