In R, a vector is a one-dimensional array that can contain elements of the same data type (numeric, character, logical), whereas a list is a collection of ordered elements that can be of different data types. Vectors are homogeneous, while lists are heterogeneous and can include vectors, matrices, other lists, or individual elements.