Пара вещей:
1) Макетные данные полезны, так как мы не знаем точно, с чем вы столкнулись. Пожалуйста, предоставьте данные, если это возможно. Может быть, я неправильно понял, что следует?
2) Не используйте [[2]]
для индексации ваших data.frame, я думаю [, "colname"] намного понятнее
3) Если единственным отличием является конечный «09» в названии, то просто отразите это:
R> x1 <- c("foo 09", "bar", "bar 09", "foo")
R> x2 <- gsub(" 09$", "", x1)
[1] "foo" "bar" "bar" "foo"
R>
Теперь вы сможете создавать подмножество данных, преобразованных на лету:
R> data <- data.frame(value=1:4, name=x1)
R> subset(data, gsub(" 09$", "", name)=="foo")
value name
1 1 foo 09
4 4 foo
R>
Вы также можете заменить столбец name значением regexp.