[R] How to spot/stop making the same mistake

Bill Dunlap w||||@mwdun|@p @end|ng |rom gm@||@com
Wed Jun 23 17:39:57 CEST 2021


> a variable that equals 1 for the elements I want to select:
>
> t = c(1,1,1,0,0)

How do you typically make such a variable?   If you use something like
   t <- ifelse(x == "Yes", 1, 0)
you should instead use
   t <- x == "Yes"

Naming the variable something like 'isYes' instead of 't' might help as
well.

-Bill

On Wed, Jun 23, 2021 at 8:11 AM Phillips Rogfield <thebudget72 using gmail.com>
wrote:

> I make the same mistake all over again.
>
> In particular, suppose we have:
>
> a = c(1,2,3,4,5)
>
> and a variable that equals 1 for the elements I want to select:
>
> t = c(1,1,1,0,0)
>
> To select the first 3 elements.
>
> The problem is that
>
> a[t]
>
> would repeat the first element 3 times .....
>
> I have to either convert `t` to boolean:
>
> a[t==1]
>
> Or use `which`
>
> a[which(t==1)]
>
> How can I "spot" this error?
>
> It often happens in long scripts.
>
> Do I have to check the type each time?
>
> Do you have any suggestions?
>
> ______________________________________________
> R-help using 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.
>

	[[alternative HTML version deleted]]



More information about the R-help mailing list