You will have to use a for loop if you insist on using control statements such as if-else. You should really read up on the ifelse() function and vectorization in R:
> set.seed(42) # So your results will match these > n <- 25 > x1 <- rnorm(n, 0, 1) > x2 <- rnorm(n, 0, 1) > x3 <- rnorm(n, 0, 1) > prb <- ifelse(x1 + x2 - x3 > .25, .25, .5) > prb [1] 0.25 0.50 0.50 0.25 0.50 0.50 0.25 0.25 0.25 0.50 0.50 0.25 0.50 0.50 [15] 0.25 0.50 0.50 0.50 0.50 0.50 0.25 0.50 0.25 0.25 0.25 > t <- rbinom(n, 1, prob=prb) > t [1] 0 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 ?ifelse ?Control ?rbinom ------------------------------------- David L Carlson Department of Anthropology Texas A&M University College Station, TX 77840-4352 -----Original Message----- From: R-help [mailto:r-help-boun...@r-project.org] On Behalf Of Art U Sent: Wednesday, March 15, 2017 9:56 AM To: r-help@r-project.org Subject: [R] Correlated variables Hi, I'm trying to create binary variable which distribution conditioned on other variables. That is what I did, x1=rnorm(n,0,1); x2=rnorm(n,0,1); x3=rnorm(n,0,1); if(x1+x2-x3>0.25){ t=rbinom(1, 1, prob=0.25) }else{ t=rbinom(1, 1, prob=0.5) } But I always get this the warning: Warning message:In if (x1 + x2 - x3 > 0.5) { : the condition has length > 1 and only the first element will be used Can I do this without using function "for"? Thank you in advance. Ariel -- *I like to pretend I'm alone*. *Completely alone*. *Maybe post-apocalypse or plague*... *Whatever*. *No-one left to act normal for. No need to hide who I really am. It would be... freeing*. *...* [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see 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 -- To UNSUBSCRIBE and more, see 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.