Gráfico de Bland Altman

# Considere dois instrumentos de medida (X e Y) onde a correlação entre as medidas obtidas pelos dois foi rxy=1. Essa correlação é possível em X=Y ou X=2Y ou X=20Y. No primeiro caso a correlação indica concordância com os valores medidos entre os instrumentos, mas nos demais ocorre discrepância entre os valores medidos. Assim, a correlação pode ser substituída pelo gráfico de Bland Altman discutido a seguir.

 

# medidas pelos instrumentos X e Y

X=c(8.3,9.6,10.2,9.7,6.4,8.8,9.3,7.4)
Y=c(8.4,9.5,10.6,9.8,6.6,8.8,9.7,7.4)

 

 

# repare que os dois instrumentos tem correlação elevada e boa concordância

cor(X,Y)
plot(X~Y, xlim=c(min(X,Y), max(X,Y)), ylim=c(min(X,Y), max(X,Y)))
abline(a=0,b=1)

 

# vamos obter a diferença entre os aparelhos (d) e a média dos aparelhos (m)

d=X-Y
m=(X+Y)/2

 

# também obtemos a média das diferenças (md) e dois pontos acima e abaixo desta

md=mean(d)
IS=mean(d)+1.96*sd(d)
II=mean(d)-1.96*sd(d)

 

# e agora observamos em um gráfico que neste caso mostra concordância, pois a média esta próximo a zero e os pontos estão acima e abaixo de zero

plot(d~m, ylab="Diferenças", xlab="Médias", ylim=c(-0.6,0.6))
abline(h=md)
abline(h=IS, lty=2)
abline(h=II, lty=2)
text(8,-0.1, "Média das diferenças")
text(8,0.25, "Média + 1,96 x desvio padrão")
text(8,-0.45, "Média - 1,96 x desvio padrão")

 

# agora vamos considerar um aparelho Z=1.1*Y e avaliar sua concordância com X

Z=1.1*Y

 

# correlação e concordância gráfica (observe que Z sempre apresenta valores maiores que X)

cor(X,Z)
plot(X~Z, xlim=c(min(X,Z), max(X,Z)), ylim=c(min(X,Z), max(X,Z)))
abline(a=0,b=1)

 

# vamos obter a diferença entre os aparelhos (d) e a média dos aparelhos (m)

d=X-Z
m=(X+Z)/2

 

# também obtemos a média das diferenças (md) e dois pontos acima e abaixo desta

md=mean(d)
IS=mean(d)+1.96*sd(d)
II=mean(d)-1.96*sd(d)

 

# e agora observamos em um gráfico que neste caso mostra discordância (os pontos sempre estão abaixo de zero e a média afasta-se bastante de zero)

plot(d~m, ylab="Diferenças", xlab="Médias", ylim=c(-1.7,-0.4))
abline(h=md)
abline(h=IS, lty=2)
abline(h=II, lty=2)

 

# Observação

# o teste t para dados pareados pode ser utilizado para avaliar se a média das diferenças é estatisticamente igual a zero, ou seja, ajuda a responder a pergunta: O qual distante de zero a minha média deve estar para considerar uma diferença estatísticamente significativa.

# no primeiro caso os dois aparelhos não tem diferença estatística e no segundo caso tem diferença

t.test(X,Y, paired=TRUE)
t.test(X,Z, paired=TRUE)

 

# o intervalo de confiança do teste t para dados pareados pode ser incluído no gráfico para se ter uma idéia da diferença estatística entre duas medidas

 

# no caso de variáveis qualitativas ordinais ou dados sem distribuição normal pode-se utilizar, por exemplo, a correlação de Spearman e o teste de Wilcoxon para dados pareados.