Ah, I didn't know this! Thanks Ben. On Fri, Feb 8, 2013 at 10:18 AM, Ben Tupper <btup...@bigelow.org> wrote:
> Hi, > > On Feb 8, 2013, at 9:40 AM, Brian Smith wrote: > > > Hi, > > > > I am trying to append tables on file with this sample code: > > > > for(i in 1:2){ > > mat <- data.frame(sample(1:30,9),3,3) > > colnames(mat) <- letters[1:3] > > ifelse(i == > > 1,write.table(mat,paste('test.txt',sep=''),row.names=F), > > > > > write.table(mat,paste('test.txt',sep=''),row.names=F,col.names=F,append=TRUE)) > > } > > > > However, this gives an error: > > > > "Error in ifelse(i == 1, write.table(mat, paste("test.txt", sep = ""), : > > replacement has length zero" > > > > - Should I be passing in some other parameters or using a different > > function to append tables to file? > > > You might try assign each parameter based upon the value of i instead of > trying to manage two different calls to write.table through an ifelse > function. ifelse doesn't seem to like the value returned by write.table > (NULL). Here's a simply example... > > > ok <- ifelse( TRUE, NULL, NULL) > Error in ifelse(TRUE, NULL, NULL) : replacement has length zero > > ok <- ifelse( FALSE, NULL, NULL) > Error in ifelse(FALSE, NULL, NULL) : replacement has length zero > > I think that is what the warning in ?ifelse is alluding to. You would > only know that write.table returns NULL if you have bitten by it before. I > have bite marks. > > for(i in 1:2){ > mat <- data.frame(sample(1:30,9),3,3) > colnames(mat) <- letters[1:3] > write.table(mat, file = "test.txt", > row.names = FALSE, > col.names = (i == 1), > append = (i != 1) ) > } > > > Cheers, > Ben > > > > > thanks! > > > > [[alternative HTML version deleted]] > > > > ______________________________________________ > > R-help@r-project.org mailing list > > 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. > > Ben Tupper > Bigelow Laboratory for Ocean Sciences > 60 Bigelow Drive, P.O. Box 380 > East Boothbay, Maine 04544 > http://www.bigelow.org > > > > > > > > > [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list 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.