[R] if else statements in R

Andrew Perrin clists at perrin.socsci.unc.edu
Mon Jun 30 17:33:12 CEST 2003


This is untested, so try it first, but my approach would be:

W<- function(w)
{
W[i]<-ifelse(comp[i,1]==1, Wo, (work[i-1,5]work[i-1,13]*/Ef))
}

Best,
Andy Perrin

----------------------------------------------------------------------
Andrew J Perrin - http://www.unc.edu/~aperrin
Assistant Professor of Sociology, U of North Carolina, Chapel Hill
clists at perrin.socsci.unc.edu * andrew_perrin (at) unc.edu


On Mon, 30 Jun 2003, Michael Rennie wrote:

>
> Hi, there
>
> I am a grad student struggling to get my syntax right in a model I am
> building in R.
>
> I am trying to specify a variable,W, in a loop, such that on the first
> iteration, it is equal to Wo, my starting value, which I have already
> specified with
>
> Wo<-9.2
>
>   On any other iteration other than the first, I want W to equal the
> previous value of W in the iteration. plus an increment from that previous
> iteration, divided by another value.  This then becomes the value used in
> all calculations in the iteration at hand.
>
> Here is my code, that does not work:
>
> W<- function(w)
> {
> if (comp[i,1]=1) W[i]<-Wo else
> W[i]<-(work[i-1,5]work[i-1,13]*/Ef)
> }
>
>
> "work" is the dataframe that I am rbinding my interations into, and the W
> variable is the 5th variable in that frame, and the additive to W is the
> 13th variable in that frame.
>
> However, this is where the program stalls on me:
>
> {
> +
> + W<- function(w)
> + {
> + if (comp[i,1]=1) W[i]<-Wo else
> Error: syntax error
> Execution halted
>
> I've also attempted this variation;
>
> W<- function(w)
>
> if (comp[i,1]=1) {W[i]<-Wo} else
> W[i]<-(work[i-1,5]work[i-1,13]*/Ef)
>
> Which meets with an equal lack of success, and stalls in the same spot as
> the previous version.
>
> Does anyone have any hints on how to make this if else statement work to do
> what I need?  This is my first time trying to use these statements, and the
> S-plus manual i have is proving to be terribly unhelpful.
>
> What am I doing wrong?
>
> Mike
>
>
> Michael Rennie
> M.Sc. Candidate
> University of Toronto at Mississauga
> 3359 Mississauga Rd. N.
> Mississauga, ON  L5L 1C6
> Ph: 905-828-5452  Fax: 905-828-3792
> 	[[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://www.stat.math.ethz.ch/mailman/listinfo/r-help
>




More information about the R-help mailing list