La corrélation entre plusieurs variables d'un bloc de données
J'ai un data.frame
de 10 Variables dans R
. Appelons les var1
var2
...var10
Je veux trouver la corrélation de l'un des var1
à l'égard de
var2
, var3
... var10
Comment pouvons-nous faire?
cor
fonction peut trouver la corrélation entre les 2 variables à la fois. Par l'aide que j'ai eu à écrire cor
fonction pour chaque Analyse
Vous pouvez utiliser un appliquer déclaration:
Vous pouvez utiliser
kumar. voulez-vous accepter selon la réponse qui a fonctionné pour vous. Voici comment faire: stackoverflow.com/help/someone-answers
apply(iris[,2:4],2, function(x) cor(x, iris$Sepal.Length) )
Vous pouvez utiliser
cor(data.frame)
qui vous donnera une matrice de corrélations entre toutes les variables. Juste en extraire les éléments pertinents de ligne/colonne de cette matrice .cor(dat$var1, dat[c( "var2", "var3", "var4")])
. Donc, à l'aide de Philip exemple, cor(iris$Sepal.Length, iris[2:4])
kumar. voulez-vous accepter selon la réponse qui a fonctionné pour vous. Voici comment faire: stackoverflow.com/help/someone-answers
OriginalL'auteur Milind Kumar | 2016-07-24
Vous devez vous connecter pour publier un commentaire.
Mon colis
corrr
, qui permet d'explorer les corrélations, a une solution simple pour cela. Je vais utiliser le mtcars ensemble de données comme un exemple, et dire que nous voulons nous concentrer sur la corrélation dempg
avec toutes les autres variables.Ici,
correlate()
produit une corrélation de bloc de données, etfocus()
vous permet de vous concentrer sur les corrélations de certaines variables avec tous les autres.Pour info,
focus()
fonctionne de façon similaire àselect()
de ladplyr
paquet, sauf qu'il modifie les lignes ainsi que des colonnes. Donc, si vous êtes familier avecselect()
, vous devriez le trouver facile à utiliserfocus()
. E. g.:corrr ne permet pas de calculer les valeurs de p, mais la question a été soulevée avant (par exemple cette question: github.com/drsimonj/corrr/issues/44).
merci! Je vais vérifier!
OriginalL'auteur Simon Jackson
Une autre solution serait d'utiliser les bibliothèques Hmisc et corrplot pour obtenir des corrélations entre toutes les paires, une signification et une jolie parcelle de la sorte :
OriginalL'auteur thisisrg