如何在R中的数据帧中将第一条唯一记录标记为1,将其余类似记录标记为0

如何在R中的数据帧中将第一条唯一记录标记为1,将其余类似记录标记为0,r,dplyr,group-by,unique,mutate,R,Dplyr,Group By,Unique,Mutate,我需要帮助,我的数据在R。我会创建新的列,如果我有至少一个记录。 我的数据(df)如下所示: date adress 28.03 bla 28.03 xyz 17.03 abc 30.03 yxz 24.03 bla 17.03 abc 23.03 abc 28.03 bla 24.03 bla 24.03 bla date adress drive 28.03 bla 1 28.03 xyz 1 17.03 abc 1 30.03 yxz 1 24.03 bla 1 17.03 abc

我需要帮助,我的数据在R。我会创建新的列,如果我有至少一个记录。 我的数据(df)如下所示:

date adress
28.03 bla
28.03 xyz
17.03 abc
30.03 yxz
24.03 bla 
17.03 abc
23.03 abc
28.03 bla
24.03 bla
24.03 bla
date adress drive
28.03 bla 1
28.03 xyz 1
17.03 abc 1
30.03 yxz 1
24.03 bla 1 
17.03 abc 0
23.03 abc 1
28.03 bla 0
24.03 bla 0
24.03 bla 0
我想用driving创建一个新的列,如果日期和地址相同,则设置1(在第一条记录中)。如果有人在同一地点的其他时间(日期),则设置为1,但如果有人在同一地点和日期,则将再次设置为相同的0。
像这样的事情:

date adress
28.03 bla
28.03 xyz
17.03 abc
30.03 yxz
24.03 bla 
17.03 abc
23.03 abc
28.03 bla
24.03 bla
24.03 bla
date adress drive
28.03 bla 1
28.03 xyz 1
17.03 abc 1
30.03 yxz 1
24.03 bla 1 
17.03 abc 0
23.03 abc 1
28.03 bla 0
24.03 bla 0
24.03 bla 0
我使用dplyr:

df2 <- df %>%
       group_by(date, adress) %>%
       mutate(drive = ifelse(n()>1, 0, 1))

有什么想法吗?

使用
复制的
。如果重复记录,则返回1,否则返回0,因此
bang运算符+在逻辑将其转换为数字之前

df %>% mutate(drive = +!duplicated(paste(date, adress)))

    date adress drive
1  28.03    bla     1
2  28.03    xyz     1
3  17.03    abc     1
4  30.03    yxz     1
5  24.03    bla     1
6  17.03    abc     0
7  23.03    abc     1
8  28.03    bla     0
9  24.03    bla     0
10 24.03    bla     0


嗨,好的,我用这个代码。很好,但我又有问题了。如何再次添加1如果重复驾驶汇总等于10,则再次给我1。记录1、10和20,然后再给我1。在2-9之间,给出0,11-19再次等于0。@Shigerusam,我不明白,请你详细说明一下好吗?@Shigerusam,不要把你的问题写在评论中,请把它作为一个单独的问题,连同示例输入和预期输出一起发布,这样更容易理解,我会把它放在下面。我把新职位推到这里。