首页 > 编程 > R > 正文

在R中计算加权平均数

2023-05-01 13:45:40
字体:
来源:转载
供稿:网友

对分组的数据可以计算加权平均数(或称为加权平均值)。在计算加权平均数时,先将每组的变量分别乘以各自的频数,然后再除以总次数(或总频数),其计算公式为:

加权平均数

其中,xi为变量,fi为xi出现的次数或频数,n为总次数(或总频数),n = f1 + f2 + ... + fk

fi也称之为xi的权.

在R中,使用weighted.mean()函数来计算加权平均数,其使用格式为:

weighted.mean(x, w, ..., na.rm = FALSE)

参数x为表示数据的向量,w为向量,是对应x各分量的权重。

(1)使用举例如下:

某幼儿园共有儿童458名,其中3岁至6岁儿童的人数分别为90,130,120,118名,试在R中计算该幼儿园儿童的平均年龄。

可以编写程序如下:

x <- 3:6
f <- c(90,130,120,118)
weighted.mean(x, w = f)

计算结果为:4.580 786,即该幼儿园儿童的平均年龄为4.58岁。

(2)再举一例:

某三个县人数分别为:15万人,7万人、10万人,其人均耕地面积分别为:0.15公顷、0.21公顷、0.18公顷,式计算这三个县的人均耕地面积是多少公顷?

编写程序如下:

x <- c(0.15, 0.21, 0.18)
f <- c(15, 7, 10)
weighted.mean(x, w = f)

计算结果为:0.1725,即这三个县的人均耕地面积为0.1725公顷。

(3)第3个例子

学校算期末成绩,期中考试占30%,期末考试占50%,作业占20%,假如某人期中考试得了84,期末92,作业分91,求该学生的加权平均值。

编写程序如下:

grade <- c(84, 92, 91)
weight <- c(0.3,0.5, 0.2)
weighted.mean(grade, w = weight)

计算结果如下:

89.4

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表