我有一个像这样的数据框:
subject <- c(1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5)
day <- c(20, 20, 20 , 20, 20, 40 , 40 , 40 , 40 , 50, 50, 50, 40, 40, 40, 40, 20, 20)
ex <- data.frame(subject, day)
Run Code Online (Sandbox Code Playgroud)
在每个主题中,我想将重复的“日”更改为 NA:
subject day
1 1 20
2 1 NA
3 1 NA
4 1 NA
5 1 NA
6 2 40
7 2 NA
8 2 NA
9 2 NA
10 3 50
11 3 NA
12 3 NA
13 4 40
14 4 NA
15 4 NA
16 4 NA
17 5 20
18 5 NA
Run Code Online (Sandbox Code Playgroud)
library(dplyr)\nex %>%\n group_by(subject) %>%\n mutate(day = ifelse(duplicated(day), NA, day)) %>%\n ungroup()\n# # A tibble: 18 \xc3\x97 2\n# subject day\n# <dbl> <dbl>\n# 1 1 20\n# 2 1 NA\n# 3 1 NA\n# 4 1 NA\n# 5 1 NA\n# 6 2 40\n# 7 2 NA\n# 8 2 NA\n# 9 2 NA\n# 10 3 50\n# 11 3 NA\n# 12 3 NA\n# 13 4 40\n# 14 4 NA\n# 15 4 NA\n# 16 4 NA\n# 17 5 20\n# 18 5 NA\nRun Code Online (Sandbox Code Playgroud)\n