R diff() 函数 - 计算差分
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)
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))
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 语言实例