Re: [R] write.table with append=T after using cat on same file

2015-07-28 Thread PIKAL Petr
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

2015-07-27 Thread Waichler, Scott R
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

2015-07-27 Thread Mark Sharp
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

2015-07-27 Thread William Dunlap
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

2015-07-27 Thread William Dunlap
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

2013-02-08 Thread Brian Smith
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

2013-02-08 Thread Louis Aslett
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

2013-02-08 Thread Brian Smith
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

2013-02-08 Thread Ben Tupper
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

2013-02-08 Thread Brian Smith
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.