r - 如何合并不同大小的数据框并添加空白数据?

标签 r dataframe

我有一个包含 3,000 行的 df1,如下所示:

  Stabr      Area_name      trucks    FIPS
2    IL        Cook          16.8     72000
3    AL Autauga County       13.8     31088
4    CA       Orange         9.8      32080
5    AZ       Maricopa       30.9     4000
6    CA       Los Angeles    21.2     1022

我还有一个包含 1,500 行的 df2,如下所示:

       county      state  FIPS  cars accidents
2        Cook   Illinois 72000  10435     89
3      Orange California  32080  1547      5
4    Maricopa    Arizona  4000   1571     19
5 Los Angeles California  1022   6759    100

我想将 carsaccidents 列添加到与 FIPS 列匹配的 df1 中。如果较小的 df2 中没有相应的 FIPS,我想在 cars 和 `accidents 列中添加零。最终产品看起来像:

  Stabr      Area_name      cars     FIPS     cars     accidents
2    IL        Cook          16.8     72000   10435     89
3    AL Autauga County       13.8     31088   0         0 
4    CA       Orange         9.8      32080   1547      5
5    AZ       Maricopa       30.9     4000    1571      19
6    CA       Los Angeles    21.2     1022    6759      100

最佳答案

dplyr 中:

library(dplyr)

df1 %>%
  left_join(df2 %>% select(-state, -county), by = 'FIPS') %>%
  mutate_at(vars(cars, accidents), coalesce, 0L)

输出:

  Stabr     Area_name trucks  FIPS  cars accidents
1    IL          Cook   16.8 72000 10435        89
2    AL Autauga County   13.8 31088    0         0
3    CA        Orange    9.8 32080  1547         5
4    AZ      Maricopa   30.9  4000  1571        19
5    CA    Los Angeles   21.2  1022 6759       100

关于r - 如何合并不同大小的数据框并添加空白数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60920861/

相关文章:

python - 按列对 pandas DataFrame 进行分组并从列组中生成列表

regex - 使用先行断言正则表达式拆分字符串

python - 迭代数据框列

python - 从句子列中提取新特征 - Python

javascript - R plotly : How to use config() in conjunction with plotly_build()?

python - 将数据框列中的元组列表拆分为数据框的列

python - 计算 DataFrame 中的行增量值

R中数据的行比较

r - ggplot 热图网格线格式 geom_tile 和 geom_rect

r - 如何更改图例符号(关键字形)以匹配绘图符号?