R语言 如何计算滚动相关

R语言 如何计算滚动相关

在这篇文章中,我们将讨论R编程语言中的滚动相关。

相关性是用来获得两个变量之间的关系。

  • 如果相关关系是正的,它的结果是1。
  • 如果是负相关,则结果为-1。
  • 如果没有相关关系,它的结果是0。

滚动相关是用来获得两个时间序列在滚动窗口上的关系。我们可以通过使用rollapply()函数来计算,这在zoo包中是可用的,所以我们必须加载这个包。

语法:

rollapply(data, width, FUN, by.column=TRUE)

其中。

  • data是输入数据帧。
  • width是一个整数,用于指定滚动相关的窗口宽度。
  • FUN是要应用的函数。
  • by.column用于指定是否对每一列单独应用该函数。

我们可以使用cor()函数来获得相关度。

语法:

cor(column1,column2)

例1 :R程序计算数据帧的滚动相关。

# load the library
library(zoo)
 
# create dataframe with 3 columns
data = data.frame(day=1:15,
                   col1=c(35:49),
                   col2=c(33:47))
 
# display
print(data)
 
# get rolling correlation for col1 and
# col2 with width 6
print(rollapply(data, width=6, function(x) cor(x[,2],x[,3]),
                by.column=FALSE))

输出 :

如何在R语言中计算滚动相关?

例2 :

# load the library
library(zoo)
 
# create dataframe with 3 columns
data = data.frame(
                   col1=c(23,45,23,32,23),
                   col2=c(1,45,67,32,45))
 
# display
print(data)
 
# get rolling correlation for col1 and
# col2 with width 2
print(rollapply(data, width=2, function(x) cor(x[,1],x[,2]),
                by.column=FALSE))

输出:

如何在R语言中计算滚动相关?

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程