Hi Ek, I thought there would be a simple fix for this, but had to write a little function:
fillList<-function(x) { maxrows<-max(unlist(lapply(x,length))) return(lapply(x,"[",1:maxrows)) } that fills up the rows of each list with NAs. I got the expected result with: testlist<-list(a=1:8,b=1:9,c=1:10) as.data.frame(fillList(testlist)) so: for (i in 1:length(MyTables)) { write.table(as.data.frame(fillList(MyTables[i])), file = "Temp.txt",append = TRUE,quote = TRUE) may do the job. Jim On Sun, Dec 16, 2018 at 2:28 PM Ek Esawi <esaw...@gmail.com> wrote: > > Hi All, > > I have an R object that is made up of N number of lists which are all > of different number of columns and rows. I want to combine the N > lists into a single data frame or write (append) them into text file. > I hope the question is clear and doesn’t require an example. I am > hoping to accomplish this using base R functions. > Below is what I tried but both gave me the same error which I do > understand, I think, but I don’t know how to fix it. My R object is > MyTables > > lapply(MyTables, function(x) write.table(x, file = "Temp.txt",append = TRUE )) > OR > for (i in 1:length(MyTables)) { > write.table(MyTables[i], file = "Temp.txt",append = TRUE,quote = TRUE) > > the error > Error in (function (..., row.names = NULL, check.rows = FALSE, > check.names = TRUE, : > arguments imply differing number of rows: 51, 8, 30 > > Thanks--EK > > ______________________________________________ > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.