[R] Recode Variable

Rainer Schuermann rainer.schuermann at gmx.net
Thu Apr 12 12:19:22 CEST 2012


1. Some data structured the way you are using would have been helpful.
I used Tal Galil's play data and set up a dataframe with the variable names you are using:
structure(list(var1 = c(1, NA, NA, 4, 5, 6, 7, 8, 9, 10, 5), 
    var2 = c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 5)), .Names = c("var1", 
"var2"), row.names = c(NA, -11L), class = "data.frame")
> myData
   var1 var2
1     1    1
2    NA    2
3    NA    3
4     4    4
5     5    5
6     6    6
7     7    7
8     8    8
9     9    9
10   10   10
11    5    5

2. The error message I get from your line of code is
> myData[myData$var1==5;"var1"]<-NA
Error: unexpected ';' in "myData[myData$var1==5;"
Probably the semikolon is a typo?

3. If I understand your question correctly, the easiest answer I can find is ifelse():
> myData$var1 <- ifelse( myData$var1 == 5, NA, myData$var1 )
> myData
   var1 var2
1     1    1
2    NA    2
3    NA    3
4     4    4
5    NA    5
6     6    6
7     7    7
8     8    8
9     9    9
10   10   10
11   NA    5

Rgds,
Rainer


On Thursday 12 April 2012 11:08:45 David Studer wrote:
> Hello everybody,
> 
> I know this is pretty basic stuff, but could anyone explain me how to
> recode a single value of a variable
> into a missing value?
> 
> I used to do it like this:
> 
> myData[myData$var1==5;"var1"]<-NA             # recode value "5" into "NA"
> 
> But the column "var1" already contains NAs, which
> results in the following error message:
> 
> "missing values are not allowed in subscripted assignments of data frames"
> 
> Thank you very much for any advice!
> 
> David
> 
> 	[[alternative HTML version deleted]]
> 
> ______________________________________________
> 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.



More information about the R-help mailing list