【发布时间】:2021-07-08 06:59:24
【问题描述】:
我需要有关 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
而且我想创建一个带驾驶的新列,如果日期和地址相同,则设置为 1(在第一个发现的记录中)。如果有人在同一个地方去另一个时间(日期),设置 1,但如果有人去同一个地方,日期将再次是相同的设置 0。
像这样的:
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))
我得到如下数据,我的第一个发现记录也是 0。
date adress drive
28.03 bla 0
28.03 xyz 1
17.03 abc 0
30.03 yxz 1
24.03 bla 0
17.03 abc 0
23.03 abc 1
28.03 bla 0
24.03 bla 0
24.03 bla 0
大家有什么想法吗?
【问题讨论】: