這裡介紹R如何計算平均數、中位數等方法,這些數據有助於瞭解資料散布的集中趨勢。本部分以class_12.RData當作範例,說明計算集中趨勢的方法。
描述統計摘要
summary()是最快速、方便計算平均數、中位數、第一四分位數、第三四分位數以及最大最小值的方法:
> summary(class_12$english)
Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
61.00 70.50 81.00 80.36 89.50 97.00 1
平均數 \(\mu\)
mean()可以計算算術平均數:
> mean(class_12$english, na.rm=T)
[1] 80.36364
在沒有下載擴充套件的情況下,幾何平均數可以依據公式\((\displaystyle\prod_{i=1}^{n}x_{i})^{\frac{1}{n}}=\sqrt[n]{x_{1}x_{2}\cdots x_{n}}\)土法煉鋼計算出來:
> n<-length(class_12$english)-(sum(is.na(class_12$english)))
> prod(class_12$english, na.rm=T)^(1/n)
[1] 79.48031
利用公式\(\frac{n}{\frac{1}{x_{1}}+\frac{1}{x_{2}}+\cdots+\frac{1}{x_{n}}}\)計算調和平均數:
> 1/(mean(1/class_12$english, na.rm=T))
[1] 78.58093
中位數
median()可以計算平均數:
> median(class_12$english, na.rm=T)
[1] 81
四分位數
quantile()可以計算四分位數:
> quantile(class_12$english, na.rm=T)
0% 25% 50% 75% 100%
61.0 70.5 81.0 89.5 97.0
四分位數差,則可以用IQR()計算:
> IQR(class_12$english, na.rm=T)
[1] 19
眾數
R的原始程式沒有提供計算眾數的功能,但可以用table()搭配names()找出眾數:
> names(table(class_12$gender))[table(class_12$gender)==max(table(class_12$gender))]
[1] "F"