现在位置: 首页 > R 教程 > 正文

R diff() 函数 - 计算差分

R 语言实例 R 语言实例

R diff() 函数用于计算向量中相邻元素的差值(差分)。

差分在时间序列分析中非常重要,用于计算变化量、增长率等。

diff() 函数语法格式如下:

diff(x, lag = 1, differences = 1)

参数说明:

  • x 输入数值向量。

  • lag 滞后阶数,默认为 1,表示与上一个元素的差值。

  • differences 差分阶数,默认为 1。设为 2 表示二阶差分(对差分结果再做一次差分)。

实例

# 创建向量
x <- c(10, 15, 22, 30, 35, 50)

# 一阶差分
result.diff1 <- diff(x)
print(result.diff1)

# 滞后 2 的一阶差分
result.lag2 <- diff(x, lag = 2)
print(result.lag2)

# 二阶差分
result.diff2 <- diff(x, differences = 2)
print(result.diff2)

执行以上代码输出结果为:

[1]  5  7  8  5 15
[1] 12 15 13 20
[1]  2  1 -3 10

diff() 在股票价格分析中经常用到:

实例

# 模拟股票每日收盘价
prices <- c(100, 102, 101, 105, 107, 103, 108)

# 计算每日价格变化
daily_change <- diff(prices)
print(paste("每日变化:", daily_change))

# 判断每日涨跌
direction <- ifelse(daily_change > 0, "涨", "跌")
print(paste("涨跌方向:", direction))

执行以上代码输出结果为:

[1] "每日变化: 2"  "每日变化: -1" "每日变化: 4"
[4] "每日变化: 2"  "每日变化: -4" "每日变化: 5"
[1] "涨跌方向: 涨" "涨跌方向: 跌" "涨跌方向: 涨"
[4] "涨跌方向: 涨" "涨跌方向: 跌" "涨跌方向: 涨"

R 语言实例 R 语言实例