2.2 R常用函数及其应用
Function_name ( variable1, variable2, variable3 ···)
2.2.2 样本统计函数
函数 | 含义 |
---|---|
min(x) |
最小值 |
max(x) |
最大值 |
mean(x) |
平均数 |
median(x) |
中位数 |
sum(x) |
求和 |
sd(x) |
标准差 |
var(x) |
方差 |
mad(x) |
绝对中位差(median absolute deviation) |
quantile(x, probs) |
分位数,x 为待求分位数的数值型向量,probs 为一个由[0, 1] 之间的概率值组成的数值向量 |
diff(x, lag=n) |
滞后差分,lag 用以指定滞后几项,默认lag 值为1 。 |
range(x) |
值域 |
scal(x, center=TRUE, scale=TRUE) |
为数据对象x 按列进行中心化(center=TRUE )或标准化(center=TRUE, scale=TRUE ) |
> min(c(1, 2, 3, 4, 5, 6, 7)) # 最小值
[1] 1
> max(c(1, 2, 3, 4, 5, 6, 7)) # 最大值
[1] 7
> mean(c(1, 2, 3, 4, 5, 6, 7)) # 平均值
[1] 4
> mean(c(1, 2, 3, 4, 5, 6))
[1] 3.5
> median(c(1, 2, 3, 4, 5, 6)) # 中位数
[1] 3.5
> sd(c(1, 2, 3, 4, 5, 6)) # 标准差
[1] 1.870829
> var(c(1, 2, 3, 4, 5, 6)) # 方差
[1] 3.5
> mad(c(1, 2, 3, 4, 5, 6)) # 绝对中位差
[1] 2.2239
> quantile(c(1,2,3,4,5,6),c(0.25,0.75)) # 25%分位数和75%分位数
25% 75%
2.25 4.75
> range(c(1.1,2,4,6,8.5,9.7,10.2)) # 值域
[1] 1.1 10.2
> range(c(1.1,2,4,6,8.5,9.7,10.2,2.2))
[1] 1.1 10.2
- 默认情况下,函数
scale()
对矩阵或数据框的指定列进行均值为0
、标准差为1
的标准化(归一化处理):
mydata <- scale (mydata)
- 要想对每一列进行任意均值和标准差的标准化,可:
mydata <- scale (mydata) * SD + M
M
为想要的均值
,SD
为想要的标准差
示例
> x <- c(1,2,3,4,5,6,7,8,9,15,12)
> mean(x)
[1] 6.545455
> sd(x)
[1] 4.274661
> n <- length(x)
> meanx <- sum(x)/n
> css <- sum((x-meanx)^2)
> sdx <- sqrt(css/(n-1))
> meanx
[1] 6.545455
> sdx
[1] 4.274661
资料
- 中位数(median)
有一组数据 X1, X2, ···, XN
将它从小到大排序为 X(1), X(2), ···, X(N)
当N
为奇数时:
当N
为偶数时:
- 绝对中位差(Median Absolute Deviation)
中位数绝对偏差
原始数据减去中位数后,得到的新数据的绝对值的中位数
R
语言中的mad还要乘以一个比例因子1.4826,以使数据
网友评论