On Nov 8, 2011, at 8:57 AM, Jean V Adams wrote:

SML wrote on 11/07/2011 09:10:30 PM:

I'm trying to rekey values which denote there is no values, i.e.,
'-999' in a dataset which contains both '-999' and NA entries.
When I try the following command I get the following error:

data.frame[data.frame$MAR <= -99999,"MAR"] <- NA

"missing values are not allowed in subscripted assignments of data
frames"

Example of data:
YEAR       JAN     FEB     MAR     ...     DEC
1931       5       -999    NA              3
1932       2       1       -999            2
.
.
.
2010       -999    NA      2               1


I've tried to replace the NAs with -999 values first to remove the NA
values, but got the same error.

I'm quite new to R, and these little issues seem to be a stumbling
block. Many thanks for any help you might be able to offer.


First of all, you should call your data frame something other than
data.frame because data.frame is already a function in the base package of
R.  Let's call it df, instead,
       df <- data.frame
       rm(data.frame)

Secondly, it looks like the variables in your data frame (JAN, FEB, MAR, ..., DEC) are character not numeric, because their values are left aligned in your example print out. You can test this out by showing the class of
each variable in the data frame,
       lapply(df, class)

If the variables are character, you can convert them to numeric,
       df2 <- as.data.frame(lapply(df, as.numeric))

Then you can convert all the -999 values to NAs,
       df2[df2 < -99] <- NA

Agreed this is what _should_ be done.

YEAR JAN FEB MAR ... DEC
1931   5  NA  NA       3
1932   2  NA  NA       2
.
.
.
2010  NA  NA   2       1

But ... I thought she wanted (unwisely in my opinion) to go the other way, NA's -> -999. In R the replacement of NA's is a bit convoluted because nothing "=="'s NA. You might need use the `is.na` function in this manner.

 df[is.na(df[["MAR"]]), "MAR"] <- -999

--
David Winsemius, MD
West Hartford, CT

______________________________________________
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.

Reply via email to