我有一个数据框,其中包含大量变量,这些变量表示为随时间变化的列作为它们的索引。我想检索一组高度共变的变量。
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))
应该给出相同结果的两个函数是,
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")
可以使用简单的 过滤结果(X_results > 0.6)
,但这似乎丢失了变量的名称。
我正在尝试从大型数据框中提取与阈值共同变化的变量集。我希望我缺少一些简单的内置函数。关于如何做到这一点的任何建议?
编辑:我意识到 Spearman 将是一个绝对错误的函数,因为它也会对值进行排名,而不仅仅是时间框架。