# [R] if statement and for loop question

Rui Barradas ru|pb@rr@d@@ @end|ng |rom @@po@pt
Sun May 30 21:57:09 CEST 2021

```Hello,

You don't need a loop, the R way is a vectorized solution and it's also
clearer.
Create a logical index (note only one &) and assign b, c, d where it's TRUE.

i <- try\$a != "Positive" & try\$a != "VUS"
try <- within(try, {
b[i] <- ''
c[i] <- ''
d[i] <- ''
})

Hope this helps,

Às 17:28 de 30/05/21, Kai Yang via R-help escreveu:
> Hello List,I have a data frame which having the character columns:
>
> | a1 | b1 | c1 | d1 |
> | a2 | b2 | c2 | d2 |
> | a3 | b3 | c3 | d3 |
> | a4 | b4 | c4 | d4 |
> | a5 | b5 | c5 | d5 |
>
>
>
> I need to do: if a1 not = "Positive" and not = "VUS" then values of  b1, c1 and d1 will be zero out. And do the same thing for the a2 to a5 series.
> I write the code below to do this. But it doesn't work. Would you please correct my code?
> Thank you,
> Kai
>
>
> for (i in 1:5)
> {
>    if (isTRUE(try\$a[i] != "Positive" && try\$a[i] != "VUS"))
>    {
>      try\$b[i]== ''
>      try\$c[i] == ''
>      try\$d[i]== ''
>    }
> }
>
>
> 	[[alternative HTML version deleted]]
>
> ______________________________________________
> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help