Re: [R] Non-standard characters in Ascii-Files

From: Schneider, Manuel <Manuel.Schneider_at_eawag.ch>
Date: Wed 31 Aug 2005 - 01:22:12 EST


Dear Henrik, dear Peter

many thanks for your reply. I've now done tests on other computers and yes, this is a local problem on my computer. Unfortunately, my second HD produces the same flaw so it must be the disk controller or whatever. When correcting the files with vedit, the non-standard characters sometimes seem to jump around to other places. Funny bug, but definitely nothing to do with R.

Best regards

Manuel

-----Ursprüngliche Nachricht-----
Von: Henrik Bengtsson [mailto:hb@maths.lth.se] Gesendet: Montag, 29. August 2005 15:43
An: Peter Dalgaard
Cc: Schneider, Manuel; r-help@stat.math.ethz.ch Betreff: Re: [R] Non-standard characters in Ascii-Files

Peter Dalgaard wrote:

> "Schneider, Manuel" <Manuel.Schneider@eawag.ch> writes:
> 
> 

>>Dear R-list
>>
>>In R 2.1.1 under Win XP on a P4 with 2GB Ram when typing
>>
>>>temp<-matrix(c(1:16000000),4000,4000)
>>>write(file="temp.txt", temp)
>>>scan("temp.txt")
>>
>>I receive:
>>Error in scan("temp.txt") : scan() expected 'a real', received
>>'414851'
>>
>>The motivation for evoquing this meassage is that I am getting the
>>same meassage with exported Ascii-Files from the GIS. The files
>>contain very few, randomly scattered non-standard Ascii-characters.
>>This seems to be a local problem on my machine but I do not have a
>>clue on the reason (OS, Memory, HD?) nor who to ask. So, my apologies
>>for misusing this list and many thanks for any suggestion.
> 
> 
> I tried this on a Linux box (with a somewhat outdated R version 
> though), and apart from eating up memory and disk space, nothing 
> untoward seems to happen:
> 
> 

>>temp<-matrix(c(1:16000000),4000,4000)
>>write(file="/tmp/temp.txt", temp)
>>dummy <- scan("/tmp/temp.txt")
>
> Read 16000000 items

and on my R v2.1.1 patched (2005-08-25) on WinXP Pro SP2 (sic!), I get

 > temp<-matrix(c(1:16000000),4000,4000)
 > write(file="temp.txt", temp)
 > file.info("temp.txt")$size

[1] 136088897
 > rm(temp)
 > dummy <- scan("temp.txt")
Read 16000000 items

> I'd suspect your harddisk or the disk controller...

I second this, check the file with an external application or try the following ad-hoc code:

zcan <- function(filename) {

   fh <- file(filename, open="r");
   on.exit(close(fh));
   count <- 0;
   while(TRUE) {

     s <- readChar(fh, n=1024);
     if (nchar(s) == 0)
       break;
     count <- count + nchar(s);
     if (gsub("[\n 0-9]*", "", s) != "")
       stop("Error after reading ", count, " characters: ", s);
   }
}

Cheers

Henrik



R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Wed Aug 31 01:31:38 2005

This archive was generated by hypermail 2.1.8 : Sun 23 Oct 2005 - 16:08:52 EST