¿如何将权重应用于 r 中的数据框?

问题描述

所以我想要的是将权重应用于我的数据框中的观察结果,而且我已经有一整列,其中包含要应用于我的数据的权重。

这就是我的数据框的样子。

重量 计数
3 67
7 355
8 25
7 2

基本上我想要的是用我的列 WEIGHT 的相应权重对我的 COUNT 列的每个值进行加权。例如,我的 Count 列的值 67 应以 3 进行加权,而我的 Count 列的 355 的值应以 7 进行加权,依此类推。

我尝试使用 questionr 包中的此代码

wtd.table(data1$count,weights = data1$weight)

但是这段代码改变了我的数据框,最终将我的 1447 行减少到只有 172 个条目。我想要的是保持我的确切条目数。

我想要的输出是这样的。我只想用加权值向我的数据框中添加另一列。

计数 计算应用权重
67 ####
355 ###

解决方法

我仍然不确定如何以您想要的方式对计数数据应用权重。 我只是想说明您可以使用 Clipboard.setData(new ClipboardData(text: widget.content)); 以方便的方式基于上一列创建一个新列。例如:

dplyr

这里,mydf # weight count # 1 3 67 # 2 7 355 # 3 8 25 # 4 7 2 mydf %>% mutate(weightedCount = weight*count,percentRank = percent_rank(weightedCount),cumDist = cume_dist(weightedCount)) # weight count weightedCount percentRank cumDist # 1 3 67 201 0.6666667 0.75 # 2 7 355 2485 1.0000000 1.00 # 3 8 25 200 0.3333333 0.50 # 4 7 2 14 0.0000000 0.25 weightedCountweight 的乘积,count 表示percentRank 中每个数据的排名,weightedCount 表示累积cumDist 中数据的分布。

这是一个例子。您可以以类似的方式创建另一列并应用其他功能。