我有一个data.table如下所示.我正在尝试计算数据子集的加权平均值.我尝试了以下MWE的两种方法

set.seed(12345)

dt = data.table(a =c(10,20,25,10,10),b=rnorm(5),c=rnorm(5),d=rnorm(5),e=rnorm(5))

dt$key = sample(toupper(letters[1:3]),5,replace=T)

setkey(dt, key)

首先对.SD进行子集化并使用lapply调用,这不起作用(并且实际上并不是这样)

dt[,lapply(.SD,function(x) weighted.mean(x,.SD[1])),by=key]

其次尝试定义一个函数来应用于.SD,就像我使用ddply一样.

这也失败了.

wmn=function(x){

tmp = NULL

for(i in 2:ncol(x)){

tmp1 = weighted.mean(x[,i],x[,1])

tmp = c(tmp,tmp1)

}

return(tmp)

}

dt[,wmn,by=key]

有关如何最好地做到这一点的任何想法?

谢谢

编辑

更改为所选列上的wmn公式的错误.

第二次编辑

加权平均公式反转并添加了set.seed

html表格统计平均成绩,使用R中的data.table计算加权平均值,其中一个表列中的权重...相关推荐

  1. R语言使用zoo包中的rollapply函数计算两个时间序列数据列之间的滚动相关性(Rolling correlations)、例如,计算两种商品销售额之间的3个月的滚动相关性

    R语言时间序列数据滚动相关性分析(Rolling correlations).R语言使用zoo包中的rollapply函数计算两个时间序列数据列之间的滚动相关性(Rolling correlation ...

  2. R语言使用data.table包中的merge函数连接(内连接)两个dataframe数据(Inner join)

    R语言使用data.table包中的merge函数连接(内连接)两个dataframe数据(Inner join) 目录 R语言使用data.table包中的merge函数连接(内连接)两个dataf ...

  3. excel中使用CORREL函数计算两个时间序列数据列之间的滚动相关性(Rolling correlations)、例如,计算两种商品销售额之间的3个月的滚动相关性

    excel中使用CORREL函数计算两个时间序列数据列之间的滚动相关性(Rolling correlations).例如,计算两种商品销售额之间的3个月的滚动相关性 目录

  4. pandas使用isna函数和any函数判断dataframe中的每一个数据列中是否包含缺失值

    pandas使用isna函数和any函数判断dataframe中的每一个数据列中是否包含缺失值(check if column contains any missing values in dataf ...

  5. 数据表从一个表空间中移动到另一个表空间中

    数据表从一个表空间中移动到另一个表空间中 1) alter table [table_name] move tablespace [new tablespace]; 移动LOB字段 2) alter ...

  6. SQL Server 将一个表中字段的值复制到另一个表的字段中

    原文:SQL Server 将一个表中字段的值复制到另一个表的字段中 具体方法如下 一:update 表2 set (要插入的列名)= select 表1.某一列 from 表1 left jion ...

  7. 【 如何将.vue文件中的所有css代码放入一个.css文件中】

    javascript – 如何将.vue文件中的所有css代码放入一个.css文件中?

  8. 触发器实现当一个表中字段改变时同时改变另一个表中字段值

    触发器实现当一个表中字段发生变化时同时改变另一个表中字段 1.建表 新建两个表一个叫做Telephonics用来存放航班全部字段的数据,主键为SelfNum航迹号:另一个一个叫做FlightAndSe ...

  9. mysql存储过程没有此表_mysql用存储过程写入 一个表A中没有存在在另一个表B的数据...

    需求 Abiao id content 1 sfsdfsg 2 ddsgffd 3 gfggg 4 dggfhfd Bbiao id 2 3 那么我要查询到Abiao 里面在Bbiao没有的数据 (理 ...

最新文章

  1. Ruby开发环境配置
  2. 如何将Sql Server中的数据表导入到PowerDesigner中
  3. CentOS7 redis-3.2.8 从单机到主从再到集群配置
  4. 移动IM开发指南1:如何进行技术选型
  5. 据库中事务、会话、线程这几个概念是什么关系
  6. java年利润编程题_[编程入门]利润计算-题解(Java代码)
  7. 如何将32 x 32像素图标转换为16 x 16像素值的图标
  8. ICCV 2019 Oral | 三维ZAO脸,单张图片估计人脸几何,效果堪比真实皮肤
  9. [文章备份]RSS阅读器在手机上APP配置方法
  10. linux多cpu运行python脚本,linux系统使用python获取cpu信息脚本分享
  11. java 基本数据类型 容器_Java 基本数据类型
  12. Java安全模型与简单示例
  13. spring 13-Spring框架基于Annotation的AOP配置
  14. 2019主流的前端框架
  15. 英语单词记忆 词源法-思维导图(20)词源st/sist/stat/stin/stem-217
  16. java网页作业提交_基于JAVA网上作业提交批改系统的设计(SQL)(含录像)
  17. XenServer Tools
  18. 安卓巴士Android开发者门户
  19. Java实现延时的方法
  20. 关于QQ和360打架的观点——转载

热门文章

  1. SharePoint 网站集备份与还原
  2. OPPO A59m刷机包_OPPO A59m线刷包教程
  3. 改变世界的开发者丨玩转“俄罗斯方块”的瑶光少年
  4. 珠宝饰品REACH检测办理
  5. 通辽市智慧城市视频信息共享平台入选内蒙古PPP推介项目库
  6. 微信收到消息很慢无法连接服务器,为什么微信接收消息总会延迟?4个原因要注意,解决方法在这里...
  7. Golang 在nbsp;Baidu-FrontEnd 的应用之路
  8. tpshop表结构说明(整理中)
  9. 一个现代孔乙己的职场生涯
  10. [AMBER] importlib.metadata.PackageNotFoundError: pdb4amber