Traiter avec des valeurs manquantes pour les corrélations de calcul
J'ai l'immense matrice avec beaucoup de valeurs manquantes. Je veux obtenir la corrélation entre les variables.
1. Est la solution
cor(na.omit(matrix))
mieux que ci-dessous?
cor(matrix, use = "pairwise.complete.obs")
J'ai déjà sélectionné, seules les variables ayant plus de 20% de valeurs manquantes.
2. Quelle est la meilleure méthode pour faire sens ?
Vous devez vous connecter pour publier un commentaire.
Je vote pour la deuxième option. On dirait que vous avez une bonne quantité de données manquantes et donc vous devriez être à la recherche d'un bon d'imputation multiple stratégie pour combler les espaces. Voir Harrell du texte "le modèle de Régression de Stratégies" pour une foule de conseils sur " comment faire ceci correctement.
Je pense que la deuxième option est plus logique,
Vous pourriez envisager d'utiliser la rcorr fonction dans le Hmisc paquet.
Il est très rapide, et inclut uniquement par paires observations complètes.
L'objet retourné contient une matrice
Cela signifie que vous pouvez ignorer les valeurs de corrélation basée sur un petit nombre d'observations (quel que soit le seuil est fait pour vous) ou sur la p-valeur.
Pour les futurs lecteurs Paires-complète de corrélation considéré comme dangereux peut être utile, en faisant valoir que
cor(matrix, use = "pairwise.complete.obs")
est considéré comme dangereux et en suggérant des solutions de rechange telles queuse = "complete.obs")
.