J'ai une trame de données avec un grand nombre de variables représentées comme des colonnes qui varient avec le temps en tant qu'index pour elles. Je voudrais récupérer des ensembles de variables hautement covarying.Récupération d'ensembles de variables de covariation
data <- data.frame(time_series=c(1,2,3),
score1=c(0.5, 0.4, 0.6),
score2=c(0.3, 0.2, 0.1),
score3=c(0.1, 0.4, 0.5),
score4=c(0.5, 0.2, 0.4),
score5=c(0.1, 0.1, 0.2))
Deux fonctions qui devraient donner des résultats identiques sont,
library(stats)
#autocorrelation function with lag 0 over a data frame
acf_results <- acf(data[2:length(names(data))], plot = FALSE, lag.max = 0)
#simple Pearson correlation function.
cor_results <- cor(data[2:length(names(data))], method = "pearson")
Il serait possible de filtrer les résultats avec un (X_results > 0.6)
simple, mais cela semble perdre les noms des variables. J'essaye d'extraire les ensembles de variables qui covarient à un seuil à partir d'une grande base de données. Je m'attendrais à ce qu'il me manque quelques fonctions intégrées simples. Des conseils sur la façon dont cela pourrait être fait? Edit: Je me suis rendu compte que Spearman serait une fonction absolument fausse pour cela, car elle classerait les valeurs aussi, pas seulement le laps de temps.
Parfait! Merci beaucoup! – puslet88