R provides several data structures for storing and manipulating data, including matrices, data frames, and lists. Matrices store data of the same type arranged in rows and columns, while data frames allow columns to contain different data types. Lists are flexible containers that can hold different data types and named components. These structures enable accessing and subsetting elements using row/column names or indices, and performing element-wise operations on the data.