On 24.04.2011 22:10, Sparks, John James wrote:
Dear R Helpers,

I have another one of those problems involving a very simple step, but due
to my inexperience I can't find a way to solve it.  I had a look at a
number of on-line references, but they don't speak to this problem.

I have a variable with 20 values

table (testY2$redgroups)

     1     2     3     4     5     6     7     8     9    10    11    12
13    14    15    16    17    18    19    20
    69   734  6079 18578 13693  6412  3548  1646   659   323   129    88
90    40    57    33    36    17     6    13

Values 18,19 and 20 have small counts.  So, I want to set the value of
redgroups for these rows to 17 in order to combine groups.  I would think
that it would be as easy as

if(testY2$redgroups>17) testY2$redgroups<-17

following the syntax that I have seen in the manuals.  However, I get the
error message

Warning message:
In if (testY2$redgroups>  17) testY2$redgroups<- 17 :
   the condition has length>  1 and only the first element will be used

Can someone please tell me the correct syntax for this?  I would really
appreciate it.

See help("if") and find if(foo) is only designed for scalar values of foo. You actually want to use:

if(testY2$redgroups>17) testY2$redgroups<-17

testY2$redgroups[testY2$redgroups > 17] <- 17

or using some less efficient "if"-like statement:

testY2$redgroups <- ifelse(testY2$redgroups > 17, 17, testY2$redgroups)


Uwe Ligges





Appreciatively yours,
--John J. Sparks, Ph.D.

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

______________________________________________
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