Re: Picking Off Lists That Have No Numbers
- To: mathgroup at smc.vnet.net
- Subject: [mg99511] Re: [mg99471] Picking Off Lists That Have No Numbers
- From: Bob Hanlon <hanlonr at cox.net>
- Date: Thu, 7 May 2009 06:32:55 -0400 (EDT)
- Reply-to: hanlonr at cox.net
?Number Number represents an exact integer or an approximate real number in Read. >> ?NumberQ NumberQ[expr] gives True if expr is a number, and False otherwise. >> ?NumericQ NumericQ[expr] gives True if expr is a numeric quantity, and False otherwise. >> NumberQ /@ {Pi, E, 2, 3/2, 5.7} {False,False,True,True,True} NumericQ /@ {Pi, E, 2, 3/2, 5.7} {True,True,True,True,True} Consequently you never would use Number to test for a number and almost always use NumericQ. FreeQ[#, _?NumericQ] & /@ {{"NA", 2.3, 3/8}, {"NA", "NA", "NA"}} {False,True} MemberQ[#, _?NumericQ] & /@ {{"NA", 2.3, 3/8}, {"NA", "NA", "NA"}} {True,False} Bob Hanlon ---- Gregory Lypny <gregory.lypny at videotron.ca> wrote: ============= Hi everyone, In a previous thread, "Select and Cases Give Different Answers," I discussed a bug, confirmed by others on the list and which Daniel Lichtblau of Wolfram said has been fixed in the development kernel, and I wonder whether we have the same problem here. I want to know if a list has no numbers in it. Here I get the wrong answer for the first list. FreeQ[#, _Number] & /@ {{"NA", 2.3, 3/8}, {"NA", "NA", "NA"}} yields {True, True} And same here. MemberQ[#, _Number] & /@ {{"NA", 2.3, 3/8}, {"NA", "NA", "NA"}} {False, False} If I use Real or Rational for the criterion, I get the right answers, but that's no good if you have some lists that are mixtures of strings and reals and others that are mixtures of strings and rationals. FreeQ[#, _Real] && FreeQ[#, _Rational] & /@ {{"NA", 2.3, 3/8}, {"NA", "NA", "NA"}, {"NA", 2.3, "NA"}, {"NA", 2.3, 9.4}} Now this works. Count[#, _String] == Length[#] & /@ {{"NA", 2.3, 3/8}, {"NA", "NA", "NA"}} {False, True} But this does not! Count[#, _Number] == 0 & /@ {{"NA", 2.3, 3/8}, {"NA", "NA", "NA"}} {True, True} I don't mean to be a pain, but it is important in my sample selection procedures to be able to make the distinction between strings and numbers, so I'd be interested in knowing whether I'm misunderstanding properties such as Number or Numeric (don't really know the difference) or this is a bug. =09Gregory