在R中,如何合并两个数据帧,其中一个中的列名等于另一个中的行值?

埃尔瓦尔德

假设我有一个牙刷品牌数据框,并评估了它们随时间的流行程度:

year  brand_1  brand_2
2010  0.7      0.3
2011  0.6      0.6
2012  0.4      0.9

还有一个说每个牙刷品牌都通电时,NA这表示他们从未这样做过:

brand    went_electrical_year
brand_1  NA
brand_2  2011

现在,我想将这些结合起来,以获得每年电动牙刷品牌的普及率(占总数的一部分):

year  electrical_prevalence
2010  0
2011  0.5
2012  0.69

在2010年,B / C为0,没有一个品牌是电气品牌。在2011年,两者均为0.5 b / c,它们同样普遍。在2012年,两者均为0.69 b / c,但电气方面更为普遍。

我已经在R中对此进行了角力,但找不到解决方法。将不胜感激任何帮助或建议。干杯。

Ben

假设数据帧是df1df2,则可以使用以下tidyverse方法。

首先,使用pivot_longer可以将您的数据设置为长格式,这将更易于操作。使用left_join添加当品牌去电的相关年份。

我们可以创建一个指标mult,如果品牌已经用电,则该指标将为1,如果没有,则为0。

然后,对于每一年,您可以通过将mult每个品牌的受欢迎程度值乘以然后除以该年的总和来确定比例

library(tidyverse)

df1 %>%
  pivot_longer(cols = -year) %>%
  left_join(df2, by = c("name" = "brand")) %>%
  mutate(mult = ifelse(went_electrical_year > year | is.na(went_electrical_year), 0, 1)) %>%
  group_by(year) %>%
  summarise(electrical_prevalence = sum(value * mult) / sum(value))

输出量

   year electrical_prevalence
  <int>                 <dbl>
1  2010                 0    
2  2011                 0.5  
3  2012                 0.692

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何根据第二个中的可能值范围合并两个数据帧,但保留第一个中的值?

来自分类Dev

R根据另一个中的值搜索第二个数据帧

来自分类Dev

如何遍历两个集合以找出其中一个而不是另一个中的对象?

来自分类Dev

在R中映射两个数据帧,条件是其中一个的时间早于另一个

来自分类Dev

在python熊猫中,如何合并两个数据帧,同时使用另一个的权重将值散布在一个数据中?

来自分类Dev

匹配两个数据帧并更改其中一个数据帧中的值

来自分类Dev

如何基于一个数据帧的行值是一个子字符串/包含在另一个数据帧的行值中来联接两个数据帧?

来自分类Dev

如何将两个数据帧中的行合并为 R 中的一个数据帧?

来自分类Dev

从一个数据框中的另一个中搜索值,并在相应的行/不同列中返回信息

来自分类Dev

根据R中的两个匹配条件,将值从一个数据帧添加到另一个数据帧

来自分类Dev

如何通过在R中调用列名来合并来自另一个数据帧的数据

来自分类Dev

链接两个j微调器,其中一个的数字范围取决于另一个中选择的值

来自分类Dev

比较两个文件并在其中一个中替换字符串

来自分类Dev

在R中划分两个数据帧(一个到另一个)

来自分类Dev

用另一个中的相应值填充数据框

来自分类Dev

比较一个而不是另一个中存在的列表和值

来自分类Dev

如何查找合并中未找到的行 - 仅相对于其中一个数据帧?

来自分类Dev

子数据匹配另一个数据帧中的两个变量

来自分类Dev

如何合并2个数组,其中一个值与另一个在Ruby中具有不同键的值匹配

来自分类Dev

在另一个中读取注释的属性

来自分类Dev

在另一个中显示 QT UI

来自分类Dev

R - 从一个数据框中查找元素的索引并将其放置在另一个中

来自分类Dev

从一个DataFrame中选择行,具体取决于另一个中的值

来自分类Dev

合并数据帧,以便将一个数据帧中的值插入到另一个数据帧中匹配的行号中

来自分类Dev

根据两个列值是否存在于另一个数据帧中组合两个数据帧

来自分类Dev

在R中,如何根据另一个数据帧中的范围对一个数据帧中的值进行分类?

来自分类Dev

将String中的值替换为另一个中的匹配值

来自分类Dev

在一个数组中合并两个具有索引的数组,在另一个perl中合并两个值

来自分类Dev

如何从R中的另一个数据帧中提取数据帧

Related 相关文章

  1. 1

    如何根据第二个中的可能值范围合并两个数据帧,但保留第一个中的值?

  2. 2

    R根据另一个中的值搜索第二个数据帧

  3. 3

    如何遍历两个集合以找出其中一个而不是另一个中的对象?

  4. 4

    在R中映射两个数据帧,条件是其中一个的时间早于另一个

  5. 5

    在python熊猫中,如何合并两个数据帧,同时使用另一个的权重将值散布在一个数据中?

  6. 6

    匹配两个数据帧并更改其中一个数据帧中的值

  7. 7

    如何基于一个数据帧的行值是一个子字符串/包含在另一个数据帧的行值中来联接两个数据帧?

  8. 8

    如何将两个数据帧中的行合并为 R 中的一个数据帧?

  9. 9

    从一个数据框中的另一个中搜索值,并在相应的行/不同列中返回信息

  10. 10

    根据R中的两个匹配条件,将值从一个数据帧添加到另一个数据帧

  11. 11

    如何通过在R中调用列名来合并来自另一个数据帧的数据

  12. 12

    链接两个j微调器,其中一个的数字范围取决于另一个中选择的值

  13. 13

    比较两个文件并在其中一个中替换字符串

  14. 14

    在R中划分两个数据帧(一个到另一个)

  15. 15

    用另一个中的相应值填充数据框

  16. 16

    比较一个而不是另一个中存在的列表和值

  17. 17

    如何查找合并中未找到的行 - 仅相对于其中一个数据帧?

  18. 18

    子数据匹配另一个数据帧中的两个变量

  19. 19

    如何合并2个数组,其中一个值与另一个在Ruby中具有不同键的值匹配

  20. 20

    在另一个中读取注释的属性

  21. 21

    在另一个中显示 QT UI

  22. 22

    R - 从一个数据框中查找元素的索引并将其放置在另一个中

  23. 23

    从一个DataFrame中选择行,具体取决于另一个中的值

  24. 24

    合并数据帧,以便将一个数据帧中的值插入到另一个数据帧中匹配的行号中

  25. 25

    根据两个列值是否存在于另一个数据帧中组合两个数据帧

  26. 26

    在R中,如何根据另一个数据帧中的范围对一个数据帧中的值进行分类?

  27. 27

    将String中的值替换为另一个中的匹配值

  28. 28

    在一个数组中合并两个具有索引的数组,在另一个perl中合并两个值

  29. 29

    如何从R中的另一个数据帧中提取数据帧

热门标签

归档