Em R, eu tenho um quadro de dados que compreende um rótulo de classe C (um fator) e duas medições, M1 e M2 . Como computo a correlação entre M1 e M2 em cada classe?
Idealmente, eu retornaria um quadro de dados com uma linha para cada classe e duas colunas: o rótulo da classe C e a correlação.
r
correlation
NPE
fonte
fonte
plyr
Pacote legal , não é? :)Se você estiver inclinado a usar funções no pacote base, poderá usar a
by
função e remontar os dados:fonte
by
, mas não consegui descobrir como transformar o resultado em um quadro de dados.Outro exemplo usando pacotes base e dados de exemplo de Tal:
fonte
plyr
faz, mas fornece um controle mais preciso , embora não seja tão limpo. Minha opinião mudaria se uma solução tivesse um melhor perfil de tempo / memória. Ainda não os comparei.Usar data.table é mais curto que dplyr
fonte
Aqui está um método semelhante que fornecerá uma tabela com os valores de n e p para cada correlação (arredondado para três casas decimais por conveniência):
fonte
Aqui está uma solução mais moderna, usando o
dplyr
pacote (que ainda não existia quando a pergunta foi feita):Construa a entrada:
Calcule as correlações:
A saída:
fonte