根据 R 中先前出现的事件分配虚拟值 - 但也是同一年
Assigning dummy values based on previous occurrences in R - but also for the same year
我想做和这个问题一样的事情:
但我不仅希望“dummycount”列在前一年“dummy”列中的出现次数取值 1,而且在发生的同一年也取值 1。
你能帮帮我吗?
这是您要实现的目标吗?
library(dplyr)
#>
#> Attaching package: 'dplyr'
#> The following objects are masked from 'package:stats':
#>
#> filter, lag
#> The following objects are masked from 'package:base':
#>
#> intersect, setdiff, setequal, union
df1 <- read.table(
text = "nameID titleID year dummy
a b 1999 1
e c 1999 1
i d 2000 0
o f 2000 0
a f 2000 1
e g 2001 0
i h 2002 0
i j 2003 0
u k 2003 1
o l 2004 1
a m 2004 0
o m 2004 0
u n 2005 0",
header = TRUE
)
df1 %>%
group_by(nameID) %>%
mutate(dummycount = ifelse(cummax(lag(dummy, default = 0)) >= 1 | cummax(dummy) >= 1, 1, 0))
#> # A tibble: 13 × 5
#> # Groups: nameID [5]
#> nameID titleID year dummy dummycount
#> <chr> <chr> <int> <int> <dbl>
#> 1 a b 1999 1 1
#> 2 e c 1999 1 1
#> 3 i d 2000 0 0
#> 4 o f 2000 0 0
#> 5 a f 2000 1 1
#> 6 e g 2001 0 1
#> 7 i h 2002 0 0
#> 8 i j 2003 0 0
#> 9 u k 2003 1 1
#> 10 o l 2004 1 1
#> 11 a m 2004 0 1
#> 12 o m 2004 0 1
#> 13 u n 2005 0 1
由 reprex package (v2.0.1)
于 2021-11-08 创建
我想做和这个问题一样的事情:
但我不仅希望“dummycount”列在前一年“dummy”列中的出现次数取值 1,而且在发生的同一年也取值 1。
你能帮帮我吗?
这是您要实现的目标吗?
library(dplyr)
#>
#> Attaching package: 'dplyr'
#> The following objects are masked from 'package:stats':
#>
#> filter, lag
#> The following objects are masked from 'package:base':
#>
#> intersect, setdiff, setequal, union
df1 <- read.table(
text = "nameID titleID year dummy
a b 1999 1
e c 1999 1
i d 2000 0
o f 2000 0
a f 2000 1
e g 2001 0
i h 2002 0
i j 2003 0
u k 2003 1
o l 2004 1
a m 2004 0
o m 2004 0
u n 2005 0",
header = TRUE
)
df1 %>%
group_by(nameID) %>%
mutate(dummycount = ifelse(cummax(lag(dummy, default = 0)) >= 1 | cummax(dummy) >= 1, 1, 0))
#> # A tibble: 13 × 5
#> # Groups: nameID [5]
#> nameID titleID year dummy dummycount
#> <chr> <chr> <int> <int> <dbl>
#> 1 a b 1999 1 1
#> 2 e c 1999 1 1
#> 3 i d 2000 0 0
#> 4 o f 2000 0 0
#> 5 a f 2000 1 1
#> 6 e g 2001 0 1
#> 7 i h 2002 0 0
#> 8 i j 2003 0 0
#> 9 u k 2003 1 1
#> 10 o l 2004 1 1
#> 11 a m 2004 0 1
#> 12 o m 2004 0 1
#> 13 u n 2005 0 1
由 reprex package (v2.0.1)
于 2021-11-08 创建