R data.table recodificar / subcolocar várias colunas [duplicar]

Esta pergunta já tem uma resposta aqui:

Maneira mais rápida de substituir NAs em um grande data.table 8 respostas

Seja DT uma tabela de dados:

DT<-data.table(V1=sample(10),
               V2=sample(10),
               ...
               V9=sample(10),)

Existe um método melhor / mais simples para fazer a recodificação / subassociação de várias colunas como esta:

DT[V1==1 | V1==7,V1:=NA]
DT[V2==1 | V2==7,V2:=NA]
DT[V3==1 | V3==7,V3:=NA]
DT[V4==1 | V4==7,V4:=NA]
DT[V5==1 | V5==7,V5:=NA]
DT[V6==1 | V6==7,V6:=NA]
DT[V7==1 | V7==7,V7:=NA]
DT[V8==1 | V8==7,V8:=NA]
DT[V9==1 | V9==7,V9:=NA]

Os nomes de variáveis são completamente arbitrários e não necessariamente têm números. Muitas colunas (Vx: Vx) e um padrão de recodificação para todos (NOME == 1 | NOME == 7, NOME: = alguma coisa).

Além disso, como atribuir várias NAs de várias colunas a outra coisa. Por exemplo, no estilo data.frame:

data[,columns][is.na(data[,columns])] <- a_value

questionAnswers(1)

yourAnswerToTheQuestion