【发布时间】:2015-05-18 19:44:07
【问题描述】:
我有一个数据框,其中包含大量变量,这些变量表示为随时间变化的列作为它们的索引。我想检索高度协变的变量集。
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 将是一个绝对错误的函数,因为它也会对值进行排名,而不仅仅是时间范围。
【问题讨论】:
标签: r correlation cross-correlation variable-names