Re: [R] write.table with append=T after using cat on same file
Hi Your example works for me. Error is on your side. Try ?traceback or start with plain R -vanilla or upgrade R. sessionInfo() R Under development (unstable) (2015-06-15 r68521) Platform: i386-w64-mingw32/i386 (32-bit) Running under: Windows XP (build 2600) Service Pack 3 locale: [1] LC_COLLATE=Czech_Czech Republic.1250 LC_CTYPE=Czech_Czech Republic.1250 [3] LC_MONETARY=Czech_Czech Republic.1250 LC_NUMERIC=C [5] LC_TIME=Czech_Czech Republic.1250 attached base packages: [1] stats datasets utils grDevices graphics methods base other attached packages: [1] lattice_0.20-31 fun_0.1 loaded via a namespace (and not attached): [1] Rcpp_0.11.6 digest_0.6.8 MASS_7.3-40 grid_3.3.0 [5] plyr_1.8.3 nlme_3.1-120 gtable_0.1.2 magrittr_1.5 [9] scales_0.2.5 ggplot2_1.0.1stringi_0.4-1reshape2_1.4.1 [13] proto_0.3-10 tools_3.3.0 stringr_1.0.0munsell_0.4.2 [17] colorspace_1.2-6 version _ platform i386-w64-mingw32 arch i386 os mingw32 system i386, mingw32 status Under development (unstable) major 3 minor 3.0 year 2015 month 06 day15 svn rev68521 language R version.string R Under development (unstable) (2015-06-15 r68521) nickname Unsuffered Consequences Cheers Petr -Original Message- From: R-help [mailto:r-help-boun...@r-project.org] On Behalf Of Waichler, Scott R Sent: Monday, July 27, 2015 10:32 PM To: R. Help Subject: [R] write.table with append=T after using cat on same file Hi, For years I've been writing text to the beginning of files with cat(append=F) , then following that text with data written by write.table(append=T). It is now giving me an error message. I'm using R-3.1.2. What gives? df - data.frame(x = 1, y = 1:10, z = 10:1) cat(file=junk.txt, sep=, # An introductory note.\n) write.table(df, file=junk.txt, sep=,, append=T, quote=F, row.names=F, col.names=F) Error in file(file, ifelse(append, a, w)) : invalid 'open' argument Thanks, Scott Waichler Pacific Northwest National Laboratory Richland, WA USA __ 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. Tento e-mail a jakékoliv k němu připojené dokumenty jsou důvěrné a jsou určeny pouze jeho adresátům. Jestliže jste obdržel(a) tento e-mail omylem, informujte laskavě neprodleně jeho odesílatele. Obsah tohoto emailu i s přílohami a jeho kopie vymažte ze svého systému. Nejste-li zamýšleným adresátem tohoto emailu, nejste oprávněni tento email jakkoliv užívat, rozšiřovat, kopírovat či zveřejňovat. Odesílatel e-mailu neodpovídá za eventuální škodu způsobenou modifikacemi či zpožděním přenosu e-mailu. V případě, že je tento e-mail součástí obchodního jednání: - vyhrazuje si odesílatel právo ukončit kdykoliv jednání o uzavření smlouvy, a to z jakéhokoliv důvodu i bez uvedení důvodu. - a obsahuje-li nabídku, je adresát oprávněn nabídku bezodkladně přijmout; Odesílatel tohoto e-mailu (nabídky) vylučuje přijetí nabídky ze strany příjemce s dodatkem či odchylkou. - trvá odesílatel na tom, že příslušná smlouva je uzavřena teprve výslovným dosažením shody na všech jejích náležitostech. - odesílatel tohoto emailu informuje, že není oprávněn uzavírat za společnost žádné smlouvy s výjimkou případů, kdy k tomu byl písemně zmocněn nebo písemně pověřen a takové pověření nebo plná moc byly adresátovi tohoto emailu případně osobě, kterou adresát zastupuje, předloženy nebo jejich existence je adresátovi či osobě jím zastoupené známá. This e-mail and any documents attached to it may be confidential and are intended only for its intended recipients. If you received this e-mail by mistake, please immediately inform its sender. Delete the contents of this e-mail with all attachments and its copies from your system. If you are not the intended recipient of this e-mail, you are not authorized to use, disseminate, copy or disclose this e-mail in any manner. The sender of this e-mail shall not be liable for any possible damage caused by modifications of the e-mail or by delay with transfer of the email. In case that this e-mail forms part of business dealings: - the sender reserves the right to end negotiations about entering into a contract in any time, for any reason, and without stating any reasoning. - if the e-mail contains an offer, the recipient is entitled to immediately accept such offer; The sender of this e-mail (offer) excludes any acceptance of the offer on the part of the recipient containing any amendment or variation. - the sender insists on that the respective contract is concluded only upon an express mutual agreement
[R] write.table with append=T after using cat on same file
Hi, For years I've been writing text to the beginning of files with cat(append=F) , then following that text with data written by write.table(append=T). It is now giving me an error message. I'm using R-3.1.2. What gives? df - data.frame(x = 1, y = 1:10, z = 10:1) cat(file=junk.txt, sep=, # An introductory note.\n) write.table(df, file=junk.txt, sep=,, append=T, quote=F, row.names=F, col.names=F) Error in file(file, ifelse(append, a, w)) : invalid 'open' argument Thanks, Scott Waichler Pacific Northwest National Laboratory Richland, WA USA __ 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.
Re: [R] write.table with append=T after using cat on same file
I do not get an error with R-3.2.1 on Mac OS. You may have done something prior to this code so that perhaps F is not FALSE or T is not TRUE. R. Mark Sharp, Ph.D. msh...@txbiomed.org On Jul 27, 2015, at 3:32 PM, Waichler, Scott R scott.waich...@pnnl.gov wrote: Hi, For years I've been writing text to the beginning of files with cat(append=F) , then following that text with data written by write.table(append=T). It is now giving me an error message. I'm using R-3.1.2. What gives? df - data.frame(x = 1, y = 1:10, z = 10:1) cat(file=junk.txt, sep=, # An introductory note.\n) write.table(df, file=junk.txt, sep=,, append=T, quote=F, row.names=F, col.names=F) Error in file(file, ifelse(append, a, w)) : invalid 'open' argument Thanks, Scott Waichler Pacific Northwest National Laboratory Richland, WA USA __ 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.
Re: [R] write.table with append=T after using cat on same file
This will happen if you have redefined 'T': T - 101:104 write.table(df, file=junk.txt, sep=,, append=T, quote=F, row.names=F, col.names=F) Error in file(file, ifelse(append, a, w)) : invalid 'open' argument Use 'TRUE' and 'FALSE' instead of 'T' and 'F' this sort of problem. Bill Dunlap TIBCO Software wdunlap tibco.com On Mon, Jul 27, 2015 at 1:32 PM, Waichler, Scott R scott.waich...@pnnl.gov wrote: Hi, For years I've been writing text to the beginning of files with cat(append=F) , then following that text with data written by write.table(append=T). It is now giving me an error message. I'm using R-3.1.2. What gives? df - data.frame(x = 1, y = 1:10, z = 10:1) cat(file=junk.txt, sep=, # An introductory note.\n) write.table(df, file=junk.txt, sep=,, append=T, quote=F, row.names=F, col.names=F) Error in file(file, ifelse(append, a, w)) : invalid 'open' argument Thanks, Scott Waichler Pacific Northwest National Laboratory Richland, WA USA __ 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. [[alternative HTML version deleted]] __ 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.
Re: [R] write.table with append=T after using cat on same file
Missing words: Use 'TRUE' and 'FALSE' instead of 'T' and 'F' to avoid this sort of problem Bill Dunlap TIBCO Software wdunlap tibco.com On Mon, Jul 27, 2015 at 1:50 PM, William Dunlap wdun...@tibco.com wrote: This will happen if you have redefined 'T': T - 101:104 write.table(df, file=junk.txt, sep=,, append=T, quote=F, row.names=F, col.names=F) Error in file(file, ifelse(append, a, w)) : invalid 'open' argument Use 'TRUE' and 'FALSE' instead of 'T' and 'F' this sort of problem. Bill Dunlap TIBCO Software wdunlap tibco.com On Mon, Jul 27, 2015 at 1:32 PM, Waichler, Scott R scott.waich...@pnnl.gov wrote: Hi, For years I've been writing text to the beginning of files with cat(append=F) , then following that text with data written by write.table(append=T). It is now giving me an error message. I'm using R-3.1.2. What gives? df - data.frame(x = 1, y = 1:10, z = 10:1) cat(file=junk.txt, sep=, # An introductory note.\n) write.table(df, file=junk.txt, sep=,, append=T, quote=F, row.names=F, col.names=F) Error in file(file, ifelse(append, a, w)) : invalid 'open' argument Thanks, Scott Waichler Pacific Northwest National Laboratory Richland, WA USA __ 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. [[alternative HTML version deleted]] __ 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] write.table and append
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? 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.
Re: [R] write.table and append
I believe your problem stems from using ifelse() actually ... it requires the statements which it runs to return a value with the same shape as the test, which write.table() isn't doing. Just change it to a regular if with an else and you'll be fine: for(i in 1:2){ mat - data.frame(sample(1:30,9),3,3) colnames(mat) - letters[1:3] if(i == 1){ write.table(mat,paste('test.txt',sep=''),row.names=F) } else { write.table(mat,paste('test.txt',sep=''),row.names=F,col.names=F,append=TRUE) } } Hope that helps, Louis On Fri, Feb 8, 2013 at 2:40 PM, Brian Smith bsmith030...@gmail.com 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? 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. __ 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.
Re: [R] write.table and append
Thanks Louis! That seems to work! On Fri, Feb 8, 2013 at 10:06 AM, Louis Aslett lasl...@louisaslett.comwrote: I believe your problem stems from using ifelse() actually ... it requires the statements which it runs to return a value with the same shape as the test, which write.table() isn't doing. Just change it to a regular if with an else and you'll be fine: for(i in 1:2){ mat - data.frame(sample(1:30,9),3,3) colnames(mat) - letters[1:3] if(i == 1){ write.table(mat,paste('test.txt',sep=''),row.names=F) } else { write.table(mat,paste('test.txt',sep=''),row.names=F,col.names=F,append=TRUE) } } Hope that helps, Louis On Fri, Feb 8, 2013 at 2:40 PM, Brian Smith bsmith030...@gmail.com 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? 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. [[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.
Re: [R] write.table and append
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 __ 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.
Re: [R] write.table and append
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.