For the data:
d = {{214.1699982, 113.5199966, "miss", 117.}, {214.0899963, 124.4199982, "miss", 129.}, {195.4199982, 110.3600006, 79., 123.}, {"miss", 125.6399994, 77., 127.}, {197.9900055, "miss", 84., 119.}, {213.3800049, 122.4100037, 80., 123.}, {"miss", 126.2699966, 83., 123.}, {"miss", 113.5400009, 78., 128.}, {"miss", 130.9700012, 81., 126.}, {208.8800049, "miss", 79., 113.}};
we define the following patterns, allowing for at most 2 misses:
pattern = { {_?NumericQ, _?NumericQ, _?NumericQ, _?NumericQ}, {_?NumericQ, _ NumericQ, _?NumericQ, "miss"}, {_?NumericQ,"miss", _?NumericQ, _?NumericQ}, {"miss", _?NumericQ, _?NumericQ, _?NumericQ}, {_?NumericQ, _?NumericQ, "miss", "miss"}, {_?NumericQ, "miss", _?NumericQ, "miss"}, {"miss", _?NumericQ, _?NumericQ, "miss"}, {_?NumericQ, "miss", "miss", _?NumericQ}, {"miss", _?NumericQ, "miss", _?NumericQ}, {"miss", "miss", _?NumericQ, _?NumericQ} }
Then we count how many times each pattern appears:
co = Count[d, #] & /@ pattern;
Then for the displayt we change the patterns to 0 and 1's:
patdis = StringReplace[ ToString[pattern], {"_?NumericQ" -> "1", "miss" -> "0"}] // ToExpression;
And here is the result:
Grid[Prepend[Transpose[{co, patdis}], {"Frequency", "Pattern"}]]
