首页 文章

相关时间序列在r

提问于
浏览
0

我目前有一个看起来像这样的数据集(3个变量和一个时间序列):

date       variable    value    
01/01/16      A         1000
01/01/16      B         800
01/01/16      C         10
01/02/16      A         2000
01/02/16      B         1800
01/02/16      C         100
01/03/16      A         100
01/03/16      B         80
01/03/16      C         10

我想要做的是计算每天所有三个变量(AB,AC,BC)之间的相关性,这样我就可以将结果绘制成一个图表,其中日期在x轴上,在y轴上是相关系数(传说是AB,AC,BC) .

任何帮助将不胜感激!

1 回答

  • 0

    我想这就是你想要的:

    df <- read.csv(sep=" ",stringsAsFactors=F,text="date variable value
    01/01/16 A 1000
    01/01/16 B 800
    01/01/16 C 10
    01/02/16 A 2000
    01/02/16 B 1800
    01/02/16 C 100
    01/03/16 A 100
    01/03/16 B 80
    01/03/16 C 10 ")
    df$date <- strptime(df$date, format = "%m/%d/%y")
    df$value <- as.numeric(df$value)
    
    vars <- unique(df$variable)
    nv <- length(vars)
    npairs <- nv*(nv-1)/2
    labs <- rep("", npairs)
    cors <- rep(0, npairs)
    k <- 1
    for (i in 1:(nv-1)) {
        vi <- vars[i]
        si <- df[df$variable == vi,]$value
        for (j in (i+1):nv) {
            vj <- vars[j]
            sj <- df[df$variable == vj,]$value
            labs[k] <- sprintf("%s-%s",vi,vj)
            cors[k] <- cor(si, sj)
            k <- k+1
        }
    }
    pdf <- data.frame(labs=labs,cors=cors)
    ggplot(pdf) + geom_bar(aes(x=labs,y=cors),stat="identity")
    

    屈服:
    enter image description here

相关问题