Ao criar uma elipse correlacional, é possível identificar os casos que se enquadram dentro ou fora da elipse?

StackOverflow https://stackoverflow.com/questions/677636

  •  21-08-2019
  •  | 
  •  

Pergunta

Support.sas.com fornece esta sintaxe para a criação de uma elipse previsão. O conjunto de dados de saída inclui apenas os resultados de correlação para o conjunto de dados. Existe alguma maneira de obter informações para os casos individuais, como rotulá-los no gráfico ou ter a saída incluem valores para os casos individuais?

Eu tentei adicionar a opção de ID para esse código, mas não teve sucesso.

Dispersão com Prediction Ellipses

ods graphics on;

proc corr data=fish1

   plots=scatter(alpha=.20 .30);

   var Height Width;

run;

ods graphics off;
Foi útil?

Solução

Se os dados não devem ser impressos no próprio gráfico, você pode obter dados do nível de observação mostrado como uma dica mouse sobre usando a opção ods imagemap=on. Este única se aplica ao destino html, no entanto. Por valores numéricos de observação padrão, sua altura e peso e será mostrado na ponta. O statment ID apenas permite que você adicione mais.

ods graphics on /imagemap=on;
ods html;
proc corr data=fish1
  plots=scatter(alpha=.20 .30);
  var Height Width;
run;
ods html close;
ods graphics off;

Update: Aqui está uma maneira fácil de obter alguns valores de dados impressos na trama. Se você alterar datalabel=weight para datalabel=height ele irá imprimir os valores de altura para cada observação em seu lugar. Isto usa o proc sgplot em vez das parcelas = declaração de dispersão dentro proc corr. Por isso, o número de observações e a correlação não são impressos na trama, mas eu tenho certeza que você poderia encontrar uma maneira de adicioná-lo se necessário.

ods graphics on /imagemap=on;
ods html;
proc sgplot data=Fish1;
  scatter x=Height y=Width /datalabel=weight;
  ellipse x=Height y=Width / alpha=.2;
  ellipse x=Height y=Width / alpha=.3;
  keylegend  / location=outside position=bottom;
run;
ods html close;
ods graphics off;

Outras dicas

Não exatamente a resposta que você está procurando, mas Warren Kufeld escreveu uma macro gráfico de dispersão que faz este tipo de rotulagem para você. Check it out, possivelmente, incorporar a lógica em uma etapa posterior no seu programa para produzir o lote com etiquetas. http://support.sas.com/techsup/technote/ts722k.pdf

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top