The short answer is whatever your client application supports. Typically if your client can't directly support OLEDB data sources, it is easier to configure and use. It doesn't appear however that there is any support to make OLEDB connections with R so it looks like ODBC or JDBC is your best bet. Our OLEDB Providers actually package the necessary query engine used by our ODBC and JDBC clients so an installation of one of the clients will necessarily require an installation of OLEDB and PI SQL DAS somewhere in your architecture. You can reference the provided user guide for more information regarding the PI ODBC driver.
If your software allows a REST endpoint to be called, I would strongly recommend using PI Web API over either PI OLEDB or PI ODBC. For R, there is a quick start client library published on GitHub. I also think PI Web API will offer better performance than OLEDB/ODBC.