if the import process described by jwidness doesn’t work, or if you want to try the coding approach anyway, then…
if you want to use R, unfortunately, i’m not aware of an existing R package that includes support for posting (writing) data. (rinat only gets data from the old API, and so i wouldn’t advocate that anyway. hanly’s R package gets data from the current API, but it includes no methods to post either.) so then, yes, if you want to use R, you would have write something from scratch to post to the /v1/observations and /v1/observation_field_values API endpoints.
if you’re willing to use Python or Javascript, then you could use pyinaturalist or (iNat’s own) inaturalistjs packages, respectively. (or write your own code.)
posting will require that you get a JWT. the easiest way to get that is directly (manually) from https://www.inaturalist.org/users/api_token. but if you want to programmatically get it, you’ll have to go through a more complicated authorization process, which you can read about here: https://www.inaturalist.org/pages/api+reference.