[R] an entry level (stupid) question

Nordlund, Dan (DSHS/RDA) NordlDJ at dshs.wa.gov
Thu Dec 20 18:19:39 CET 2012


> -----Original Message-----
> From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-
> project.org] On Behalf Of Yanyuan Zhu
> Sent: Thursday, December 20, 2012 7:48 AM
> To: r-help at r-project.org
> Subject: [R] an entry level (stupid) question
> 
> Hello all, i'm a newbie to R and now I get stuck by the question, would
> anybody help me please?
> 
> Suppose, I got the following
> 
> > test <- data.frame(test1=c(c(0.00, 0.005, 0.01, 0.015, 0.02)))
> > test
>   test1
> 1 0.000
> 2 0.005
> 3 0.010
> 4 0.015
> 5 0.020
> 
> Now I want another column inside test, named test2
> for i=c(1:5), If test$test1[i] is 0, then the value of test$test2[i] is
> 1/test1[i]
> or else If test$test1[i] is not 0, then the value of test$test2[i] is
> 39
> 
> how should i programme in R to make it happen?
> 
> thanks a lot!
> 

You probably want to use the ifelse() function, but your description of the problem change zeros into  inf (i.e. infinity) and all other values into 39.  Is that what you really want?


Dan

Daniel J. Nordlund
Washington State Department of Social and Health Services
Planning, Performance, and Accountability
Research and Data Analysis Division
Olympia, WA 98504-5204




More information about the R-help mailing list