描述定量数据的数值方法:中心趋势度量 变异的度量 相对位置的度量。
1.中心趋势度量 : 算数平均 中位数 众数
1.1 在R中计算平均数的函数 mean( )常规的mean() 函数用法mean(x, trim = 0, na.rm = FALSE, ...) 参数说明: x 对象名称trim 过滤掉异常值 ,按照距离平均值的远近距离排除,如对象中含有10个数据,排除最高和最低值,trim=0.2na.rm 默认为F 表示是否计入空值实例1: 做一个稍微复杂点的操作,用r做数据透视表并把结果转换为matrix ,对行列求和。(仅娱乐,无实用价值)
demo <- mtcars[1:6,] # 调用R自带函数集,并去前6行
toushi <- aggregate(mtcars[,5:6] ,by = list(cyl = mtcars$cyl),sum) # 数据透视表求和
toushi <- as.matrix(toushi) # 将结果的数据框转化成矩阵
#(toushi <- apply(toushi,c(1,2),sum))
(rowSums(toushi)) # 行求和
(colSums(toushi)) # 列求和
toushi <- rbind(toushi,rowSums(toushi)) #将行求和结果并入最后一行
toushi <- cbind(toushi,colSums(toushi)) #将列求和结果并入最后一列
1.2 中位数和众数
对于偏度极大的数据集,中位数能更好的描述数据分布的中心。
很少用众数作为数据数据趋势的度量,只有当对y出现的相对频率感兴趣时,才会考虑到众数。
R实现中位数 :
median(x, na.rm = FALSE)
R中没有直接插找众数的命令
which.max(table(x))
2.变异的度量 : 极差 方差 标准差
2.1 .极差 = max()- min()
2.2 方差和标准差
对一个有n个测量值的有限总体来说,方差计算公式的分母为n。关于样本方差和总体方差分母的差异原因,可自行百度搜索。
R语言计算方差的函数: var(x,)
w<-c(75.0,64.0,47.4,66.9,62.2,62.2,58.7,63,5,66.6,64.0,57.0,69.0,56.9,50.0,72.0)
var(w)
# 附加指数点:标准差的两个有用法则:经验法则 和 切比雪夫法则,共同说明一个问题,对于任意大于1的正数k,至少有(1-1/k^2)的测试值落在平均值的k个标准值范围内。
3.变异的度量 : 百分位数 Z得分
3.1 .最常见的四分位数(一般从大到小)
quantile(x, probs = seq(0, 1, 0.25), na.rm = FALSE,names = TRUE, type = 7, ...)
用的最多的,是求均值的mean()函数,当然这里也要提到,像sum()这种求和函数,
还有sd(x) 标准差函数,var(x) 方差函数。min()求最小值,max()求最大值。
我们来具体试试,这里使用一个向量:
test<-c(2,4,5,23,199,25,78,90,12)
求最大值
>max(test)
[1] 19
求最小值
>min(test)
求和
>sum(test)
[1] 43
求标准差,求方差
>sd(test)
[1] 65.01154
>var(test)
[1] 4226.
在来试试最重要的均值
>mean(test)
[1] 48.66667
另外中位数计算。使用median()函数
>median(test)
[1] 23
如果给定一种概率分布,通常会有四类计算问题:
计算其概率密度density (d)计算其概率分布probability(p)计算其百分位数quantile (q)随机数模拟random (r)上面四类计算对应的英文首字母,就是R语言类率分布函数的开头字母。
比如说,正态分布是norm的化,那密度函数就是dnorm(),分布函数就是pnorm(),
更有用的是用相应分布生成随机数,比如rnorm(),就会生成服从正态分布的随机数。
比如我们生成100个服从正态分布的随机数
rnorm(100)
[1] -9.064408e-01 1.026560e+00 -1.097470e+00 1.055395e+00 9.377175e-01
[6] -2.080103e-01 -3.092396e-01 -8.739942e-01 -1.242774e+00 1.102486e+00
[11] 1.082092e+00 -1.695528e+00 -5.930809e-01 -2.100800e-01 8.253859e-01
[16] -1.112551e+00 -3.960474e-01 -9.354820e-01 7.291608e-01 -3.773510e-01
[21] -3.438082e-01 -7.378688e-02 -9.047609e-01 -1.036344e+00 9.485103e-01
[26] -3.437985e-01 -2.145275e-02 1.350098e+00 -1.283633e+00 3.767240e-01
[31] 1.169566e+00 -4.325399e-01 -9.215626e-02 3.839357e-01 3.045491e-01
......
我们再用相应的频率分布直方图来看一下,这些生成的随机数:
hist(rnorm(100))
R就画出了这些随机数的频率分布图