[R] Checking if a logical variable exists

Ben Tupper btupper at bigelow.org
Sun Dec 14 14:43:09 CET 2014


Hi,

Does this work for you?  It simply tests if the name Fisher is found among the names of the elements of spec.

obj = list(spec = list)
Fisher <- ifelse(!("Fisher" %in% names(obj$spec)), FALSE, obj$spec$Fisher)

Cheers,
Ben

On Dec 14, 2014, at 8:07 AM, Steven Yen <syen04 at gmail.com> wrote:

> My obj does not always come with a logical variable defined. So I do
> 
> my.foo <- function(obj,df,digits=5){
> if (!is.na("obj$spec$Fisher")) Fisher<-obj$spec$Fisher
> ...
> }
> 
> This works when "Fisher" is defined in/passed from obj. When it is not, I get error:
> 
> Error in (!is.na("obj$spec$Fisher")) & Fisher :
>  operations are possible only for numeric, logical or complex types
> 
> I tried exist(Fisher), missing(Fisher)... to no vail. Any idea? Thanks.
> 
> ______________________________________________
> R-help at 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.

Ben Tupper
Bigelow Laboratory for Ocean Sciences
60 Bigelow Drive, P.O. Box 380
East Boothbay, Maine 04544
http://www.bigelow.org



More information about the R-help mailing list