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"}]]
