 <pre><code> #messydata.txt : created by copying/pasting the line above into a textfile. #Load Table into R data1 &lt;- read.table("messydata.txt", header=FALSE,sep=",", nrows=2, col.names=paste0("C", 1:16) ) #In col.names you can create the column names you want C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 C13 C14 C15 C16 1 48.25 4.25 19890000 2.60 5.89 1.28 0.02 0 0 0.42 3575 0 -0.40 2.60 2.57 6.48 2 50.00 6.00 19890000 3.55 5.42 2.31 0.42 0 0 0.15 2420 0 0.27 3.55 2.00 7.80 #Option 1- Bind your two tables cbind(data1, icp) #option 2- Join tables if you have a key Variable "ID" require(plyr) newdata&lt;- join(x=data1, y=icp, by = "ID") #The ID can have a different name in x and y. </code></pre>