【问题标题】:R function to identify whether each member of a group has previously been in a group with any member of the current groupR函数,用于识别组中的每个成员以前是否与当前组中的任何成员在一个组中
【发布时间】:2022-11-22 01:43:02
【问题描述】:

我的数据有代表属于不同组的个人成员的行,具有个人 ID(“ID”)和组 ID(“GROUP_NUM”)。

我正在尝试编写一个函数,对于每个组,循环遍历每个单独的 ID,并检查是否有任何列表(这个 ID 以前所在的组)出现在列表(组中的所有其他 ID 以前都在)中),如果是,则将该 ID 添加 1 到名为“HISTORY”的新列。

示例数据框:

ID GROUP_NUM
abc 1
def 1
ghi 1
jkl 1
abc 2
mno 2
pqr 2
stv 2
abc 3
stv 3
wxy 3
zzz 3
abc 4
def 4
pqr 4
bbb 4

期望的结果:

ID GROUP_NUM HISTORY
abc 1 0
def 1 0
ghi 1 0
jkl 1 0
abc 2 1
mno 2 0
pqr 2 0
def 2 1
abc 3 1
stv 3 0
wxy 3 0
mno 3 1
abc 4 1
def 4 1
pqr 4 0
stv 4 1

我对函数/循环一窍不通,非常感谢您的帮助! :)

当 HISTORY 应该 = 1 时,我已经能够识别出个别示例,但我想对整个数据框执行此操作。该功能对我来说似乎很复杂,我无法理解它。

【问题讨论】:

    标签: r function dplyr


    【解决方案1】:

    使用duplicated

    library(dplyr)
    df1 <- df1 %>% 
       mutate(HISTORY = +(duplicated(ID)))
    

    【讨论】:

      猜你喜欢
      • 2016-08-18
      • 2015-01-30
      • 1970-01-01
      • 2023-03-31
      • 1970-01-01
      • 2020-01-28
      • 1970-01-01
      • 2021-09-04
      • 1970-01-01
      相关资源
      最近更新 更多