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

丁豪

我下面有两个数据框:

dput输出df1:

structure(list(Location = c("1100 2ND AVENUE", "1100 2ND AVENUE", 
"1100 2ND AVENUE", "1100 2ND AVENUE", "1100 2ND AVENUE", "1100 2ND AVENUE"
), `Ivend Name` = c("3 Mskt 1.92oz", "Almond Joy 1.61oz", "Aquafina 20oz", 
"BCanyonChptleAdzuk1.5oz", "BlkForest FrtSnk 2.25oz", "BluDimndSmkhseAlmd1.5oz"
), `Category Name` = c("Candy", "Candy", "Water", "Salty Snacks", 
"Candy", "Nuts/Trailmix"), Calories = c(240, 220, 0, 215, 193, 
260), Sugars = c("36", "20", "0", "2", "32", "2"), Month = structure(c(4L, 
4L, 4L, 4L, 4L, 4L), .Label = c("Oct", "Nov", "Dec", "Jan", "Feb", 
"Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep"), class = "factor"), 
    Products_available_per_machine = c(0, 0, 0, 0, 0, 0), Units_sold = c(0, 
    0, 0, 0, 0, 0), Total_Sales = c(0, 0, 0, 0, 0, 0), Spoils = c(0, 
    0, 0, 0, 0, 0), Building = c("1100 2ND", "1100 2ND", "1100 2ND", 
    "1100 2ND", "1100 2ND", "1100 2ND"), Item = structure(c(2L, 
    2L, 1L, 2L, 2L, 2L), .Label = c("Beverage", "Food"), class = "factor"), 
    Year = structure(c(1L, 1L, 1L, 1L, 1L, 1L), .Label = "2019", class = "factor")), row.names = c(NA, 
-6L), class = c("data.table", "data.frame"), .internal.selfref = <pointer: 0x00000233561b1ef0>)

dput输出df2:

structure(list(`Date Ran` = structure(c(1548892800, 1551312000, 
1553817600, 1556582400, 1561680000, 1564531200), class = c("POSIXct", 
"POSIXt"), tzone = "UTC"), Year = c(2019, 2019, 2019, 2019, 2019, 
2019), Month = c("January", "February", "March", "April", "June", 
"July"), Location = c("SEA18", "SEA18", "SEA18", "SEA18", "SEA18", 
"SEA18"), Building = c("Alexandria", "Alexandria", "Alexandria", 
"Alexandria", "Alexandria", "Alexandria"), Population = c(1177, 
1179, 1178, 1156, 1163, 1163)), row.names = c(NA, -6L), class = c("tbl_df", 
"tbl", "data.frame"))

我想从DF 2中拉出pop col并将其添加到基于“建筑物”和“月”的数据帧1中,以在DF2中填充订单人口。

我使用merge尝试了此命令,但执行时col为NULL:

df_2019_final1$Population <- df_2019_pop$Population[match(df_2019_final1$Month, df_2019_pop$Month, df_2019_final1$Building, df_2019_pop$Building)]

subset_df_pop <- df_2019_pop[, c("Month", "Building", "Population")]


updated_2019_test <- merge(df_2019_final1, subset_df_pop, by = c('Month', 'Building'))

两者都产生NULLS和空白DF

任何帮助将不胜感激。

阿克伦

在其中一个数据集中,“月”被缩写,在第二个数据集中,它是全名。我们可以调整这些格式的任何一个和merge会工作

df2$MonthN <- month.abb[match(df2$Month, month.name)]
library(dplyr)
left_join(df1, df2[, c("MonthN", "Building", "Population")], 
             by = c('Month' = 'MonthN', 'Building'))

或搭配 merge

merge(df1, df2[, c("MonthN", "Building", "Population")], 
   by.x = c('Month', 'Building'), by.y = c('MonthN', 'Building'), all.x = TRUE)

注意:合并数据集上的“人口”列将NA基于该示例,因为子集数据集中的“建筑物”值不同

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将行从一个数据帧添加到另一个

来自分类Dev

遍历一个数据帧,然后根据两个条件从另一个数据帧添加数据

来自分类Dev

比较两个数据帧,如何根据条件和范围将ID从一个df添加到第二个

来自分类Dev

将摘要n从一个数据帧添加到另一个数据帧(tidyverse)

来自分类Dev

根据匹配的列值将元素从一个数据帧映射到另一个数据帧

来自分类Dev

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

来自分类Dev

根据另一个数据帧中的值将数据帧的列相乘

来自分类Dev

R:根据多个列的匹配将一个列从一个数据集添加到另一个

来自分类Dev

将单词从一个数据帧匹配到另一个

来自分类Dev

根据R中两个数据框的两列中的匹配对名称,将值添加到另一个数据框的其他值中

来自分类Dev

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

来自分类Dev

将值从一个数据帧替换为另一个

来自分类Dev

将数据从一个数据帧复制到另一个数据帧,然后根据值替换数据

来自分类Dev

R-将一个数据帧中的值与另一个数据帧中的多个值进行匹配

来自分类Dev

根据来自另一个数据帧的两个条件过滤一个数据帧

来自分类Dev

根据匹配的列将行从一个数据帧移动到另一个数据帧

来自分类Dev

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

来自分类Dev

如何根据熊猫的条件将缺失的行从一个数据框添加到另一个数据框?

来自分类Dev

根据另一个数据帧中的多个条件过滤数据帧

来自分类Dev

将新列从另一个数据帧添加到长数据帧?

来自分类Dev

在遵守给定条件的同时,将列的值从一个数据帧插入到另一个数据帧

来自分类Dev

在遵守给定条件的同时,将列的值从一个数据帧插入到另一个数据帧

来自分类Dev

将数据从一个数据帧匹配到另一数据帧

来自分类Dev

根据另一个数据框中的匹配条件将列添加到R中的数据框中

来自分类Dev

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

来自分类Dev

根据另一个数据帧在R数据帧中创建变量

来自分类Dev

将数据从一个数据帧拖入另一个

来自分类Dev

根据来自另一个数据框的两个行值的对应值将列添加到数据框

来自分类Dev

将 bin 限制从一个数据帧应用到 R 中的另一个数据帧

Related 相关文章

  1. 1

    将行从一个数据帧添加到另一个

  2. 2

    遍历一个数据帧,然后根据两个条件从另一个数据帧添加数据

  3. 3

    比较两个数据帧,如何根据条件和范围将ID从一个df添加到第二个

  4. 4

    将摘要n从一个数据帧添加到另一个数据帧(tidyverse)

  5. 5

    根据匹配的列值将元素从一个数据帧映射到另一个数据帧

  6. 6

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

  7. 7

    根据另一个数据帧中的值将数据帧的列相乘

  8. 8

    R:根据多个列的匹配将一个列从一个数据集添加到另一个

  9. 9

    将单词从一个数据帧匹配到另一个

  10. 10

    根据R中两个数据框的两列中的匹配对名称,将值添加到另一个数据框的其他值中

  11. 11

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

  12. 12

    将值从一个数据帧替换为另一个

  13. 13

    将数据从一个数据帧复制到另一个数据帧,然后根据值替换数据

  14. 14

    R-将一个数据帧中的值与另一个数据帧中的多个值进行匹配

  15. 15

    根据来自另一个数据帧的两个条件过滤一个数据帧

  16. 16

    根据匹配的列将行从一个数据帧移动到另一个数据帧

  17. 17

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

  18. 18

    如何根据熊猫的条件将缺失的行从一个数据框添加到另一个数据框?

  19. 19

    根据另一个数据帧中的多个条件过滤数据帧

  20. 20

    将新列从另一个数据帧添加到长数据帧?

  21. 21

    在遵守给定条件的同时,将列的值从一个数据帧插入到另一个数据帧

  22. 22

    在遵守给定条件的同时,将列的值从一个数据帧插入到另一个数据帧

  23. 23

    将数据从一个数据帧匹配到另一数据帧

  24. 24

    根据另一个数据框中的匹配条件将列添加到R中的数据框中

  25. 25

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

  26. 26

    根据另一个数据帧在R数据帧中创建变量

  27. 27

    将数据从一个数据帧拖入另一个

  28. 28

    根据来自另一个数据框的两个行值的对应值将列添加到数据框

  29. 29

    将 bin 限制从一个数据帧应用到 R 中的另一个数据帧

热门标签

归档