Configurar um quadro de dados por vários níveis de fator [duplicado]

Esta pergunta já tem uma resposta aqui:

Selecione linhas de um quadro de dados com base nos valores de um vetor 3 respostas

omo posso evitar o uso de um loop para subconjunto de um quadro de dados com base em vários níveis de fato

No exemplo a seguir, minha saída desejada é um quadro de dados. O quadro de dados deve conter as linhas do quadro de dados original em que o valor em "Código" é igual a um dos valores em "selecionado".

Exemplo de trabalho:

#sample data
Code<-c("A","B","C","D","C","D","A","A")
Value<-c(1, 2, 3, 4, 1, 2, 3, 4)
data<-data.frame(cbind(Code, Value))

selected<-c("A","B") #want rows that contain A and B

#Begin subsetting
result<-data[which(data$Code==selected[1]),]
s1<-2
while(s1<length(selected)+1)
{
  result<-rbind(result,data[which(data$Code==selected[s1]),])
  s1<-s1+1
}

Este é um exemplo de brinquedo de um conjunto de dados muito maior, portanto, "selecionado" pode conter um grande número de elementos e os dados um grande número de linhas. Portanto, eu gostaria de evitar o loop.

questionAnswers(3)

yourAnswerToTheQuestion