Re: [R] The try() function with read.delim().

From: Steven McKinney <smckinney_at_bccrc.ca>
Date: Tue, 13 May 2008 19:23:43 -0700

> -----Original Message-----
> From: r-help-bounces_at_r-project.org on behalf of Rolf Turner
> Sent: Tue 5/13/2008 6:12 PM
> To: R help forum
> Subject: [R] The try() function with read.delim().
>
>
> I have written a function which reads data from files using read.delim
> ().
> The names of these files are complicated and are built using arguments
> to the wrapper function. Since the files in question may or may not
> exist, I thought to enclose the read.delim() call in a try():
>
> file <- <complicated expression>
> temp <- try(read.delim(file))
> if(inherits(temp,"try-error")) {
> (Do something)
> } else {
> (Do something else)
> }
>
> But this doesn't work. If file doesn't exist, then I get an error,
> and the wrapper function terminates, despite the presence of the try().
> The object ``temp'' never gets created.
>
> I can of course easily get around the problem by testing with
>
> file.exists(file)
>
> I just wondered --- why isn't try() working as expected here? Am I
> being
> silly to expect it to work? If so, what am I not understanding about
> try()?

It is working for me using R-2.7.0 on a Mac running OS X 10.4 and it also runs pretty much as shown below on my Windoze machine (R-2.7.0 on Windows XP)

So you may be encountering a bug - not sure what your sessionInfo() etc. is.

Here's my output of your example

> file <- "foo.bar"
> file.exists(file)
[1] FALSE
> temp <- try(read.delim(file))
Warning in file(file, "r") :
  cannot open file 'foo.bar': No such file or directory Error in file(file, "r") : cannot open the connection
> temp

[1] "Error in file(file, \"r\") : cannot open the connection\n" attr(,"class")
[1] "try-error"
> rm("temp")
> temp

Error: object "temp" not found
> temp <- try(read.delim(file))
Warning in file(file, "r") :
  cannot open file 'foo.bar': No such file or directory Error in file(file, "r") : cannot open the connection
> temp

[1] "Error in file(file, \"r\") : cannot open the connection\n" attr(,"class")
[1] "try-error"
> class(temp)

[1] "try-error"
> sessionInfo()

R version 2.7.0 (2008-04-22)
powerpc-apple-darwin8.10.1

locale:
en_CA.UTF-8/en_CA.UTF-8/C/C/en_CA.UTF-8/en_CA.UTF-8

attached base packages:

[1] tcltk     splines   stats     graphics  grDevices utils     datasets 
[8] methods   base     

other attached packages:
[1] relimp_0.9-8      abind_1.1-0       rpart_3.1-41      Rcmdr_1.3-14     
[5] car_1.2-8         lme4_0.999375-14  Matrix_0.999375-9 lattice_0.17-6   
[9] survival_2.34-1

loaded via a namespace (and not attached): [1] grid_2.7.0 tools_2.7.0
>

Best

Steve McKinney

>
> Thanks for any insights.
>
> cheers,
>
> Rolf
>
> ######################################################################
> Attention:\ This e-mail message is privileged and confid...{{dropped:9}}
>
> ______________________________________________
> R-help_at_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_at_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. Received on Wed 14 May 2008 - 03:52:29 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Wed 14 May 2008 - 04:30:41 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive