[R] Non-standard characters in Ascii-Files
Schneider, Manuel
Manuel.Schneider at eawag.ch
Tue Aug 30 17:22:12 CEST 2005
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 at maths.lth.se]
Gesendet: Montag, 29. August 2005 15:43
An: Peter Dalgaard
Cc: Schneider, Manuel; r-help at stat.math.ethz.ch
Betreff: Re: [R] Non-standard characters in Ascii-Files
Peter Dalgaard wrote:
> "Schneider, Manuel" <Manuel.Schneider at 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
More information about the R-help
mailing list