【问题标题】:How to add rows to similar rows in dataframe? [duplicate]如何将行添加到数据框中的相似行? [复制]
【发布时间】:2023-01-05 23:01:43
【问题描述】:

我有这两个数据框:

df1=structure(list(name = structure(1:6, levels = c("z", 
"n", "e", "c", "t","h"), class = "factor"), b = c(9, 
5, 4, 3,7, 5), out = c("*", "", 
 "*", "*", "*", "*")), row.names = c(NA, -6L), class = c("tbl_df", 
"tbl", "data.frame"))


df2=structure(list(name = structure(1:6, levels = c("z", 
"z", "z", "c", "c","n"), class = "factor"), o = c(9, 
 5, 4, 3,7, 3)), row.names = c(NA, -6L), class = c("tbl_df", 
"tbl", "data.frame"))

我想从 df1 到 df2 添加 out 和 b。

期望的输出:

   name    o       out    b

 1 z         9   "*"   9
 2 z         5   "*"   9
 3 z         4   "*"   9
 4 c         3   "*"   3
 5 c         7   "*"   3
 6 n         3   ""    5

【问题讨论】:

  • left_join(df2, df1)

标签: r


【解决方案1】:

您正在寻找的是一个连接:

library(dplyr)

left_join(df2,df1,by="name")

结果是:

# A tibble: 6 × 4
  name      o     b out  
  <fct> <dbl> <dbl> <chr>
1 z         9     9 "*"  
2 z         5     9 "*"  
3 z         4     9 "*"  
4 c         3     3 "*"  
5 c         7     3 "*"  
6 n         3     5 "" 

【讨论】:

    猜你喜欢
    • 2020-12-05
    • 1970-01-01
    • 2017-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-20
    相关资源
    最近更新 更多