R语言学习笔记_20240707_02
R中常用数学统计函数
常用的数学函数
数学函数应用到了标量(单独的数值)上,返回相应结果。
当这些函数被应用于数值向量、矩阵或数据框时,它们会作用于每一个独立的值上并返回结果
floor,ceiling,trunc进行取整
trunc函数取值为接近0的数,floor是取值小的整数,celing取值大的整数
25%/%11 #表达式取整数 2
25%%11 #表达式取余数 3
ceiling(11.022) #12
floor(11.022) #11
trunc(11.022) #11
trunc(-11.022) #-11
ceiling(-11.022) #-11
floor(-11.022) #-12
其他数学函数
abs()求绝对值
sqrt(x)求平方根
round(x, digits=n)指定保留小数位数
signif(x, digits=n)指定保留有效位数
log(10)返回值为 2.3026 自然对数 底数
exp(2.3026)返回值为 10 自然对数的指数
没有ln()函数
常用的统计函数
mad()和sd()
绝对中位差(Median Absolute Deviation,简称MAD)是一种衡量数据分布离散程度的统计量,它表示数据集中各数据点与中位数的绝对距离的中位数。MAD是数据稳健性(robustness)的一个度量,对异常值不敏感,因此在存在异常值或数据分布不对称时,它比标准差更稳定、更可靠
在标准正态分布中,数据的特点是:
均值(Mean):0
标准差(Standard Deviation, SD):1
绝对中位差(Median Absolute Deviation, MAD)近似0.675 * SD
quantile(x,probs) 求分位数
x <- c(-10:10)
y <- quantile(x, c(.25,.9)) #25%,90%的分位数
求极差
x <- c(-10:10)
range(x) #10, 10
diff(range(x)) #20
滞后差分 diff(x, lag=n)
在R语言中,diff()函数用于计算向量或时间序列数据的滞后差分。滞后差分通常用于分析数据的变动情况,尤其是在时间序列分析中。
基本语法:
diff(x, lag = 1, differences = 1)
参数说明:
x:要计算差分的数值向量或时间序列。lag:滞后期数。表示在计算差分时,当前值与之前第几期的值进行比较。默认值为1,表示当前值与前一期的值进行比较。differences:要计算的差分阶数。1阶差分是最常见的,表示当前值与滞后值的差;2阶差分则是1阶差分的差,以此类推。默认值为1。
滞后差分的意义:
- 1阶滞后差分(
lag=1):计算当前值与前一期值的差。例如,如果时间序列是按月记录的,1阶滞后差分将显示每个月与上个月的变化量。 - 2阶滞后差分(
lag=2,differences=2):计算1阶滞后差分的差分,即当前值与前两期值的差与前一期值与前两期值的差之差。这有助于消除数据中的二阶趋势。
示例:
假设有一个简单的时间序列数据,记录了连续几个月的销售额:
sales <- c(100, 110, 120, 115, 130, 150)
计算1阶滞后差分:
sales_diff <- diff(sales)
print(sales_diff)
输出结果将是销售额的月度变化量:
[1] 10 10 -5 15 20
这意味着第一个月到第二个月销售额增加了10,第二个月到第三个月增加了10,依此类推。
如果使用2阶滞后差分:
sales_diff2 <- diff(sales, lag = 2, differences = 2)
print(sales_diff2)
lag = 2 表示差分是基于每个元素和它前面第二个元素进行计算的
输出结果将是1阶差分的差分,有助于观察销售额变化的加速度或减速度。
[1] -10 30
第一个值 -10:这是从第三个月(索引为3,因为R中索引从1开始)的销售额与第一个月的销售额之差,再减去从第二个月的销售额与第一个月的销售额之差的值。如果原始数据 sales 是按照时间顺序排列的,这可以解释为第三个月相比于第一个月的增长量相比于第二个月相比于第一个月的增长量减少了10。
第二个值 30:这是从第四个月的销售额与第二个月的销售额之差,再减去从第三个月的销售额与第二个月的销售额之差的值。这可以解释为第四个月相比于第二个月的增长量相比于第三个月相比于第二个月的增长量增加了30。
*在这个例子中,第二个月相比于第一个月的增长量比第三个月相比于第二个月的增长量多10,而第四个月相比于第二个月的增长量比第三个月相比于第二个月的增长量多30。这可能表明销售额在第四个月有显著的增长,或者在第三个月增长放缓。
请注意,使用diff()函数时,差分的结果向量长度会比原始向量短lag个元素。这是因为差分是在原始数据的基础上计算得到的,所以原始数据的前lag个元素在差分后的数据中不再出现。
二阶差分的结果向量比原始向量短两个元素,因为每次差分都会减少向量的长度。此外,由于我们从原始数据中移除了前两个元素来计算一阶差分,所以二阶差分的结果中只剩下了两个元素。
更多推荐


所有评论(0)