【问题标题】:Combine two columns in one in R without duplication在R中将两列合二为一,不重复
【发布时间】:2022-10-23 15:08:57
【问题描述】:

我有一个数据框,下面有两列:

HomeTeam     AwayTeam
Zimbabwe     Kenya
Netherlands  Zimbabwe
Kenya        Amsterdam

我想从这两个列创建一个列 Team 但它不应该重复团队的名称。我该怎么做?

【问题讨论】:

  • 您在寻找paste(HomeTeam, AwayTeam) 吗?

标签: r merge multiple-columns mutate


【解决方案1】:

这有点猜测,因为您的问题并不完全清楚,但我认为 union() 是您正在寻找的...

举个例子:

dd <- read.table(header = TRUE, text = "
HomeTeam     AwayTeam
Zimbabwe     Kenya
Netherlands  Zimbabwe
Kenya        Amsterdam
")

构造一个数据框,其中包含单列,两列中的(非重复)团队名称:

result <- data.frame(Team = with(dd, union(HomeTeam, AwayTeam)))

【讨论】:

  • 你好。感谢您的回复。这只是数据外观的一个示例。我有一个名为 EPL 的数据库,所以我是否在“text =”中提到“EPL”?
  • 我的数据框叫dd;如果你的叫EPL,那么在显示的最后一行代码中用它代替dd(剩下的只是用来设置一个例子)。
  • 那行得通!谢谢!
  • 如果这解决了您的问题,我们鼓励您单击复选标记以接受它(如果您愿意,还可以投票)
【解决方案2】:

这是tidyverse 选项:

library(dplyr)
library(tidyr)

df %>%
  pivot_longer(everything(), 
               values_to = "Team") %>% 
  distinct(Team)
  Team       
  <chr>      
1 Zimbabwe   
2 Kenya      
3 Netherlands
4 Amsterdam  

【讨论】:

    猜你喜欢
    • 2015-06-20
    • 2021-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-27
    • 1970-01-01
    • 2016-11-17
    • 2021-01-23
    相关资源
    最近更新 更多