首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >R如何划分每个因素级别对应的行

R如何划分每个因素级别对应的行
EN

Stack Overflow用户
提问于 2020-06-30 23:14:05
回答 1查看 27关注 0票数 0
代码语言:javascript
运行
复制
  Date       location class  count
  <date>     <chr>    <fct>  <dbl>
1 2019-11-30 China    total   1000
2 2019-11-30 China    disney  1000
3 2019-11-30 China    marvel     5
4 2019-11-30 Vietnam  total     90
5 2019-11-30 Vietnam  disney    80
6 2019-11-30 Vietnam  marvel    10

以上是我的数据标题,我想将中国漫威的计数除以中国的总数,将越南的漫威除以越南的总数,依此类推(假设我们只有2019-11-30)

计算后,输出将如下所示:

代码语言:javascript
运行
复制
Date        location     divided
2019-11-30  China        0.005
2019-11-30  Vietnam      0.111

它应该很简单,但却真的卡住了。执行此任务的好方法是什么?

EN

回答 1

Stack Overflow用户

发布于 2020-06-30 23:30:06

您可以取class == 'marvel'指标的平均值,按计数加权

代码语言:javascript
运行
复制
library(data.table)
setDT(df)

df[class != 'total', .(divided = weighted.mean(class == 'marvel', count)), 
   by = .(Date, location)]

#          Date location     divided
# 1: 2019-11-30    China 0.004975124
# 2: 2019-11-30  Vietnam 0.111111111

使用的数据:

代码语言:javascript
运行
复制
df <- fread('
Date       location class  count
 2019-11-30 China    total   1000
 2019-11-30 China    disney  1000
 2019-11-30 China    marvel     5
 2019-11-30 Vietnam  total     90
 2019-11-30 Vietnam  disney    80
 2019-11-30 Vietnam  marvel    10
')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62660680

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档