[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
Tuesday)

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
I
> 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 
levels.
>>>

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.
Me
> 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
I 
would also check the class of cvar$MSA.
>>>

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


Thanks again

Peter

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
www.peterflom.com
New York, NY 10010
(212) 845-4485 (voice)
(917) 438-0894 (fax)




More information about the R-help mailing list