{smcl} {* 15jun2006}{...} {cmd:help mata mm_posof()} {hline} {title:Title} {p 4 4 2} {bf:mm_posof() -- Find element in vector} {title:Syntax} {p 8 12 2} {it:real scalar} {cmd:mm_posof(}{it:haystack}{cmd:,} {it:needle}{cmd:)} {p 4 8 2} where {it:haystack}: {it:transmorphic vector haystack} {it:needle}: {it:transmorphic scalar needle} {title:Description} {p 4 4 2} {cmd:mm_posof()} returns the position of the first occurrence of element {it:needle} in vector {it:haystack}, or 0 if {it:needle} does not occur. {p 4 4 2}Note that {cmd:mm_posof()} is now outdated by the more flexible and faster {bf:{help mf_mm_which:mm_which()}} function. ({cmd:mm_posof()} has been written before the appearance of the {cmd:select()} function Mata.) {title:Remarks} {p 4 4 2}{cmd:mm_posof()} may be used with numeric elements or with string elements. For example: {com}: mm_posof(("one","two","three"),("two")) {res}2 {txt} {com}: mm_posof((1,2,3),(3)) {res}3{txt} {p 4 4 2}However: {com}: mm_posof((1,2,3),("2")) {res}0{txt} {p 4 4 2}Furthermore: {com}: mm_posof(("one","two","three"),("four")) {res}0{txt} {title:Conformability} {cmd:mm_posof(}{it:haystack}{cmd:,} {it:needle}{cmd:)} {it:haystack}: 1 {it:x c} or {it:r x} 1 {it:needle}: 1 {it:x} 1 {it:result}: 1 {it:x} 1. {title:Diagnostics} {p 4 4 2}{cmd:mm_posof()} returns 0 if the element types of {it:needle} and {it:haystack} are different. {title:Source code} {p 4 4 2} {help moremata_source##mm_posof:mm_posof.mata} {title:Author} {p 4 4 2} Ben Jann, University of Bern, jann@soz.unibe.ch {title:Also see} {p 4 13 2} Online: help for {bf:{help mf_mm_which:mm_which()}}, {bf:{help m4_utility:[M-4] utility}}, {bf:{help mf_strpos:[M-5] strpos()}}, {bf:{help moremata}}