计算 R 中具有不同权重的组的一系列加权平均值

2024-03-26

我有以下数据集(实际数据的简单版本)“data”,并且想分别使用权重 w1 和 w2 计算变量 x1 和 x2 的加权平均值,分为两组(由变量 n 确定的组) )。

data <- data.frame(n = c(1,1,1,2,2,2), x1 = c(4,5,4,7,5,5), x2 = c(7,10,9,NaN,11,12), w1 = c(0,1,1,1,1,1), w2 = c(1,1,1,0,0,1))

我尝试使用 with() 来执行此操作,但是当我运行此命令时出现错误:

with(data, aggregate(x = list(x1=x1, x2=x2), by = list(n = n), FUN = weighted.mean, w = list(w1 = w1,w2 = w2)))

另一方面,如果未指定权重,则它可以工作,但在这种情况下,将使用默认级别权重(即与使用 FUN=mean 相同)。

with(data, aggregate(x = list(x1=x1, x2=x2), by = list(n = n), FUN = weighted.mean))

这个问题类似于按组和列的加权平均值 https://stackoverflow.com/questions/14145859/weighted-means-by-group-and-column,除了我的问题包括不同列的不同权重。我尝试使用数据表,但它遇到了与 with() 相同的加权错误。 预先感谢您的任何帮助。


Try

library(data.table)
setDT(data)[, .(x1=weighted.mean(x1, w1), x2=weighted.mean(x2, w2)) , by = n]

或者正如 @thelatemail 评论的那样,我们可以使用Map循环“x”、相应的“w”列并使用单个调用weighted.mean

setDT(data)[, Map(weighted.mean, list(x1,x2), list(w1,w2)), by = n]

如果有很多“x”和“w”列,我们可以使用grep获取列名称,mget返回里面的值Map

setDT(data)[,  Map(weighted.mean, mget(grep('x', names(data), 
    value=TRUE)), mget(grep('w', names(data), value=TRUE))), by = n]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

计算 R 中具有不同权重的组的一系列加权平均值 的相关文章

  • 连接字符串列中的唯一字符

    我有一个 data frame 其中有一个字符串列 city 它由用 分隔的连接字母组成 dt data frame id letters 1 6 city c A B B D A D G A C F G C D dt id city 1
  • R: Knit 给出 SQL-chunk 错误

    我想编织 R markdown 的输出 其中包括几个 SQL 块 但是 如果我开始编织 就会收到错误消息 Line 65 Error in eval expr envir enclos object pp dataset not found
  • 在单词后获取文本——R Webscraping

    几周前 这里有人帮助我极大地获得了名人数据库中所有链接的列表 我能够运行此代码并获得以下输出 library purrr library rvest url base lt https www nndb com lists 494 0000
  • 如何在 R 中按字符变量的字母顺序对数据框进行排序?

    我想按 R 中字符变量的字母顺序对数据框进行排序 我尝试使用order 函数 但它将我的数据框转换为列表 有人知道吗 好吧 我这里没有问题 df lt data frame v 1 5 x sample LETTERS 1 5 5 df v
  • 在数据帧中的几行上提取具有匹配模式的 id

    这是我正在处理的数据框的示例 id string 1 no 1 yes 1 yes 2 no 2 yes 3 yes 3 yes 3 no 我想提取id为此最后两行包含字符串 yes 对于列string 所以结果是 id string 1
  • dplyr 中的 if_all 和 if_any 函数未运行

    我正在尝试使用以下方法复制这些示例if all and if any功能但不工作 Erro Problem with filter input 1 x n o foi poss vel encontrar a fun o if all i
  • 将 Fig.cap 设置为 options$label

    如何以编程方式在knitr hook 中设置图形标题 如果没有明确定义 我想将图形标题设置为块标签 我已经阅读了knitr文档options http yihui name knitr options options http yihui
  • R mapbox / 带有动画和 shapefile 的绘图

    我正在制作一个动画 显示地图上绘制的空间数据 并带有基于日期的动画滑块 除此之外 我想绘制一个随时间变化的形状文件 我的动画在没有 shapefile 的情况下也能正常工作 绘制标记和形状文件不会显示形状文件 似乎是两者之间的某种脱节add
  • 从 Rcpp C++ 函数获取 r 函数参数

    我在 R 端定义了一个函数 如下所示 foo lt function arg1 arg2 arg3 以及使用 Rcpp 的 C 函数 该函数获取全局环境并实例化 R 函数以从该函数执行它 这是代码 namespace Rcpp void m
  • dplyr:在 group_by 组中添加行

    有没有更好的方法来添加行group by 组比使用bind rows 这是一个有点笨拙的例子 df lt data frame a c 1 1 1 2 2 b 1 5 df gt group by a gt do bind rows dat
  • 连接系统 R 中的两个或多个数据帧

    我的问题是如何在 R 系统中连接两个或多个数据帧 例如 我有两个数据框 first x y z 1 3 2 4 2 4 5 7 3 5 6 8 second x y z 1 1 1 1 2 4 5 7 我需要这个 x y z 1 3 2 4
  • ggplot for 循环输出所有相同的图表

    我编写了一个 for 循环 它遍历数据帧的列并使用 ggplot 为每列生成一个图表 问题是输出的图表都是相同的 它们都是最后一列的图表 我使用的代码是 library gridExtra library ggplot2 test1 lt
  • data.frame 不会破坏列名

    有没有办法使用 data frame 而不破坏列名 我有以下结构 Canon PowerShot 1 9 997803e 01 9 997318e 01 3 327920e 01 3 327920e 01 9 988220e 01 6 4
  • 在ggplot2中按线连接分组点

    我试图将每组的每个蓝点与其相应的红点连接起来 但是 我在使用时遇到问题geom segment 谢谢帮助 repl lt data frame title c A B C A B C diff c 10 06 1 89 12 79 10 0
  • ggplot2:从纵横比中排除图例

    I use ggplot2 and knitr发布带有右侧图例的散点图 图例包含在纵横比中 因此破坏了绘图的 方形 如图所示默认主题 https github com hadley ggplot2 wiki themes 当图例文本变得比
  • 如何在R中制作渐变颜色填充时间序列图

    How to 填充区域 sp 线下方和上方渐变色 这个例子是在 Inkscape 中绘制的 但我需要垂直渐变 不是水平的 间隔从zero to positive 来自white to red 间隔从zero to negative 来自wh
  • 每次向量元素变化时在 R 中分割向量

    每次元素值发生变化时 我都需要分割重复元素组的向量 例如 test vector lt c string1 string1 string1 string2 string2 string1 string1 string3 必须成为 1 1 s
  • 关于使用outer()和用户定义函数的简单问题?

    gt fun1 lt function x y x y gt outer seq 1 5 length 5 seq 6 10 length 5 fun1 1 2 3 4 5 1 7 8 9 10 11 2 8 9 10 11 12 3 9
  • 线性回归并将结果存储在数据框中[重复]

    这个问题在这里已经有答案了 我正在对数据框中的某些变量进行线性回归 我希望能够通过分类变量对线性回归进行子集化 对每个分类变量运行线性回归 然后将 t 统计数据存储在数据框中 如果可能的话 我想在没有循环的情况下执行此操作 这是我正在尝试做
  • R 中的网页抓取表

    完全菜鸟试图抓取此页面上的表格 我所能做的最远的是加载 rvest 包 我的问题是 我找不到合适的元素 我通过检查器尝试的元素是 table w782 comm lsjz 但它返回长度为0的列表 并在 html table 之后执行 gt

随机推荐

  • 使用 URL::action() 时如何更改域

    我正在尝试复制 Laravel 3 中可用的内容 我希望能够为路由指定备用域名 例如 我有一条使用此代码生成以下内容的路线 URL action DashboardController something Produces http som
  • 无法转换“AppDelegate Proxy”类型的值

    我已经集成了 Localtyics iOS SDK 之后我收到如下错误 无法转换 LLAppDelegateProxy 类型的值 这意味着我无法获取应用程序委托对象的引用 我现在遇到麻烦了 因为我想要 Localytics 并且还想要 Ap
  • 批处理脚本在文件夹中查找空文件

    我需要识别文件夹中的零 KB 文件并将输出写入文本文件 下面是我使用批处理脚本找到的代码 我想根据我的以下要求进行自定义 echo off set out found txt for r c myfolderfilestosearch F
  • CS0234:System.Web 命名空间中不存在 Mvc

    我根据 Scott Hanselmen Phil Haack 和 Rob Conery 出版的 Professional ASP NET 3 5 MVC 第 13 章 将 ASP net 4 webform 项目转换为 Asp net MV
  • Angular JS:ng-click 范围集在 ng-if 中不起作用

    今天 我看到了 angularjs 中的一个错误 当您尝试直接在 ng click 中设置范围值时 当您的 ng click 位于测试相同范围值的 ng if 中时 它不起作用 gt http jsfiddle net 9j2TL 26 h
  • Android Management API - 使用密码退出 kiosk 模式

    我有问题 我有完全托管的设备并使用 Android Management API https developers google com android management https developers google com andr
  • Jquery 对象选择器作为字符串

    有没有办法获取 jquery 对象的选择器 例如 在 Firefox 中 我看到一个 jquery 对象为 p basket 但 jquery 中似乎没有办法获得这个选择器 有什么办法吗 Phil 如果 jQuery 对象是使用选择器字符串
  • 在 IL 中对空引用调用实例方法

    在 IL 中可以对空引用调用实例方法是否正确 有没有例子可以证明这一点 是的 这是可能的 只要该方法不使用this因为 CLR 不会对以下内容进行空检查call指示 You would have to modify the IL by ha
  • 如何检查我的应用程序是否在 android 中运行(不是作为服务)?

    Problem 我必须检查我的应用程序是否正在运行 当服务已经在后台运行时 基于它 我应该启动特定的活动或应用程序 我尝试或想出但失败的事情我尝试检查当前正在运行的进程 并根据它尝试确定应用程序是否正在运行 失败原因 获取应用程序运行状态一
  • 如何使用 CGImageRef 图像在 NSView 中显示图像

    我想在 NSview 或 NSImageView 中显示图像 在我的头文件中我有 interface FVView NSView NSImageView imageView end 这是我在实现文件中尝试做的事情 void drawRect
  • 将日期时间转换为时间戳并再次转换回来

    我在 Python 中的日期时间方面遇到了一些问题 我尝试将日期时间转换为时间戳 然后再转换回来 无论我如何尝试 最终结果都不一样 我总是以 datetime 2014 1 30 23 59 40 1998 的日期时间结束 import d
  • 使用 REST 是否必须使用适当的方法类型(POST、PUT、GET、DELETE)?

    我们在项目中使用 REST 调用 Web 服务来处理从用户界面进行的所有调用 目前 对于每个方法 签名都是以这种方式配置的 public class SaveNewAddressLabelService GET Consumes appli
  • XSLT 删除任意重复的同级元素

    答案here https stackoverflow com a 16715399 288341正在做我想要的事情 除了我不想只删除特定元素的重复同级元素 我想删除所有元素的重复同级元素 此外 出于我的目的 重复 元素将具有与其同级元素相同
  • Array.map 的 Javascript 性能

    刚刚在 jsperf 中编写了一些测试用例来测试使用时命名函数和匿名函数之间的区别Array map和其他替代方案 http jsperf com map reduce named functions http jsperf com map
  • Flask_migrate 可以在数据库初始化文件中与 sqlAlchemy create_engine 一起运行吗?

    如果我有一个init py 文件如下所示 from sqlalchemy import create engine import os from sqlalchemy orm import sessionmaker scoped sessi
  • CSS3 Internet Explorer 缩放背景过滤器:

    我正在尝试拉伸背景图像 使其始终填充窗口 使用 CSS3 我已经在 mozilla 和 chrome 中管理它 但是在 IE 中却遇到了困难 我以前在 IE 中管理过这个 但这次不起作用 这是我的 HTML 和 CSS HTML5
  • 如何从序列中提取升序子集?

    我有一些数据 id serial 1 1 2 2 3 3 4 1 5 3 6 2 7 1 8 2 9 3 10 1 11 2 12 1 13 2 14 3 我想按 串行 列进行分组 其中组规则是 任何升序子集 像这样 1 gt 2 gt 3
  • 编写 xml 并读回 c#

    好的 我现在使用文档方法而不是 XmlWriter 来编写 XML 我已经用 编写了我的 XML 文件 userNode xmlDoc CreateElement user attribute xmlDoc CreateAttribute
  • Rails + Android 中的 Authenticity_token

    我正在开发一个与 Rails 服务器通信的 Android 应用程序 我不想忽略authenticity token 但我也不认为询问它是正确的答案 如何保护我的 POST 请求 当您使用 API 时 像 Android 应用程序那样需要真
  • 计算 R 中具有不同权重的组的一系列加权平均值

    我有以下数据集 实际数据的简单版本 data 并且想分别使用权重 w1 和 w2 计算变量 x1 和 x2 的加权平均值 分为两组 由变量 n 确定的组 data lt data frame n c 1 1 1 2 2 2 x1 c 4 5