The best way to do this is to avoid for-loop and write down lists to build them.
This is the way to use unlist :
plot(unlist(l),unlist(k))

The way to do this with for-loop would be as follows:
for (i in 1:2) { par(new=T) plot(l[[i]], k[[i]], xlim=c(0,2), ylim=c(0,5)) }
But this is completely optional, since you can get the same result simply by blocking it. You should also use par(new=T) so that the second (or any other) graph does not overwrite the previous ones, and you would need to specify the x and y limits so that the two graphs have the same scale. In addition, you will need to use double square brackets [[]] , as @HubertL mentions in his answer to accessing lists. The result will be the same as above (with labels in a bolder format, since the labels will be displayed twice on top of each other).
source share