R: substitua NA pelo item do vetor
stou tentando substituir alguns valores ausentes nos meus dados pelos valores médios de um grupo semelhant
Meus dados são assim:
X Y
1 x y
2 x y
3 NA y
4 x y
E eu quero que fique assim:
X Y
1 x y
2 x y
3 y y
4 x y
Eu escrevi isso, e funcionou
for(i in 1:nrow(data.frame){
if( is.na(data.frame$X[i]) == TRUE){
data.frame$X[i] <- data.frame$Y[i]
}
}
Mas meu data.frame tem quase meio milhão de linhas e as instruções for / if são bem lentas. O que eu quero é algo como
is.na(data.frame$X) <- data.frame$Y
Mas isso gera um erro de tamanho incompatível. Parece que deve haver um comando que faça isso, mas não consigo encontrá-lo aqui no SO ou na lista de ajuda do R. Alguma ideia