Re: [R] NA erase your data trick

From: Duncan Murdoch <>
Date: Tue 17 May 2005 - 16:35:12 EST

Anders Schwartz Corr wrote:
> Oops,
> I just erased all my data using this gizmo that I thought would replace -9
> with NA.
> A) Can I get my tcn5 back?

Not if you don't have it backed up somewhere else.

I wouldn't recommend keeping your only copy of anything in an R workspace. It's too easy to accidentally delete or overwrite it. Keep the original in a file.

> B) How do I do it right next time, I learned my lesson, I'll never do it
> again, I promise!
> Anders Corr

>>for(i in 1:dim(tcn5)[2]){         ##for the number of columns

> + for(n in 1:dim(tcn5)[1]){ ##for the number of rows
> + tcn5[[n,i]) | tcn5[n,i] == -9] <- NA
For some values of i and n, this last line simplifies to

tcn5[TRUE] <- NA

which is why you lost your data.

You want to (a) think in vectors, or (b) use an if statement:

(a) Replace your whole series of statements with

tcn5[ | tcn5 == -9] <- NA


(b) Replace just the last line above with

   if ([n,i]) | tcn5[n,i] == -9) tcn5[n,i] <- NA

I'd choose (a); it's a lot cleaner and will run faster.

Duncan Murdoch mailing list PLEASE do read the posting guide! Received on Tue May 17 17:19:34 2005

This archive was generated by hypermail 2.1.8 : Fri 03 Mar 2006 - 03:31:46 EST