[R] Weird problem with trying to change a variable

Peter Flom flom at ndri.org
Sat Jan 17 05:28:18 CET 2004

Thanks for the responses.  Several people suggested I check that the
numbers are exactly what I think they are (ie. that 5360 is not
5360.00001.  I don't think this is the case (the data were entered in
SAS, then I used DBMS copy to get them to SPSS, and then read.spss to
move them to R), but I will check when I get back to the office (not til

In addition, Dr. Ripley replied

I wrote

> I have a dataframe called cvar, with two variables (among many others)
> called MSA and ACTUP.  Both are numeric.  This was working fine.  Then
> found out that for two MSAs, ACTUP should be 1, not 0.
> so I tried
> cvar$ACTUP[cvar$MSA == 6840] <- 1
> cvar$ACTUP[cvar$MSA == 5360] <- 1
> but when I try 
> table(cvar$MSA, cvar$ACTUP)
> the level of ACTUP for those two MSAs has not changed, and is still 0 

Brian Ripley replied
`The level'?  You said they were numeric, and it is factors which have 

Sorry, I misspoke - I didn't create the data set.  ACTUP is, really, a
two level variable, but was coded (originally in SAS) as 0 1.  when I
did mode(ACTUP) I found that it was numeric.
> when I try
> cvar$ACTUP[cvar$MSA == 5360]
> I get numeric(0)

Dr Ripley
So presumably cvar$MSA == 5360 is entirely false, but I would check, and
would also check the class of cvar$MSA.

when I did mode(MSA) I got that it was numeric

Thanks again


Peter L. Flom, PhD
Assistant Director, Statistics and Data Analysis Core
Center for Drug Use and HIV Research
National Development and Research Institutes
71 W. 23rd St
New York, NY 10010
(212) 845-4485 (voice)
(917) 438-0894 (fax)

More information about the R-help mailing list