In R, lists can be recursive, which means that you can have list within list.
> c(list(a=1, b=2, c=list(d=4, e=5))) $a  1 $b  2 $c $c$d  4 $c$e  5
The code above creates a two-component list, with c component of the main list itself being another list.
However, sometimes you may want to create a single list instead of a recursive list. You can do this by setting the optional argument recursive in c() function to TRUE. (It’s weird that setting recursive to TRUE actually gives you a non-recursive list.)
> c(list(a=1, b=2, c=list(d=4, e=5)), recursive=T) a b c.d c.e 1 2 4 5
Reference: The Art of R Programming by Norman Matloff