Tenho uma dúvida sobre como alterar os valores dos caracteres em um data.frame de acordo com combinações baseadas em duas colunas. Vou tentar dar um exemplo de como fica o data.frame
data <- data.frame(A1 = c("A", "T", "C"), A2 = c("C", "G", "T"),
Ind1 = c("AA", "TG", "TT"), Ind2 = c("CA", "GT", "CT"),
Ind3 = c("AC", "GG", "TC"))
> data
A1 A2 Ind1 Ind2 Ind3
1 A C AA CA AC
2 T G TG GT GG
3 C T TT CT TC
Quero alterar os valores nas colunas de Ind1 para Ind3 que não correspondem às combinações possíveis das colunas A1
e A2
, por exemplo, na primeira linha, A1
é um A
e A2
é um, C
então as combinações possíveis seriam AA
, AC
, CC
(combinação baseada em A1
, e A2
naquela ordem). Portanto, o Ind2 deveria ser AC
em vez de CA
.
A saída desejada seria esta:
> data
A1 A2 Ind1 Ind2 Ind3
1 A C AA AC AC
2 T G TG TG GG
3 C T TT CT CT
Eu tentei com switch
mas não funciona. Qualquer ajuda seria apreciada. Obrigado