This is documented behavior. From ?"[.data.frame":
Both ‘[’ and ‘[[’ extraction methods partially match row
names. By default neither partially match column names, but
‘[[’ will unless ‘exact=TRUE’. If you want to do exact
matching on row names use ‘match’ as in the examples.
In the history of S
Dear all,
sorry to bother you with potentially known issue --
we have noticed that if we select data frame rows by rownames, we get
some results back if the match can be done unambiguously, though the
match is not perfect (see example), e.g. x{"2",] will return a row if
there is a unique r