如何在 R 中比较变量并返回公共变量

  • 本文关键字:变量 返回 比较 r compare
  • 更新时间 :
  • 英文 :


我有一个非常简单的数据集,其中一列用于ID号,一列用于该人的DOB。

例:

x_df <- data.frame(stringsAsFactors=FALSE,
ID = c("ID-1", "ID-2", "ID-2", "ID-3", "ID-4", "ID-5"),
DOB = c("4/16/1955", "9/4/1976", "9/4/1976", "4/16/1955", "2/10/1995",
"11/29/1980")
)

我正在尝试用 R 编写一个代码,该代码将比较所有 DOB 并在 DOB 相同但 ID 不同时打印 ID 和 DOB。

有什么建议吗?

让我们按DOB排列数据,可以比较对

library(tidyverse)
x_df %>% 
group_by(DOB) %>% 
mutate(idord = paste0("x", 1:n()) ) %>% 
spread(idord, ID) %>% 
filter(x1 != x2)

结果是

DOB       x1    x2   
<chr>     <chr> <chr>
1 4/16/1955 ID-1  ID-3

如果你可能有超过 2 对,那么你可以使用它

x_df %>% 
group_by(DOB) %>% 
summarise(idcount = n_distinct(ID), IDall = paste(ID, collapse = "|")) %>% 
filter(idcount > 1)

一个单元格中的 ID 和所有 ID 的数量

DOB       idcount IDall    
<chr>       <int> <chr>    
1 4/16/1955       2 ID-1|ID-3

相关内容

  • 没有找到相关文章

最新更新