我在 R 中有一个包含超过 600k obs 的数据集。我创建了一个“key”变量,我想知道有多少个不同的键与 ID 变量相关。我的数据集看起来像这样:
id <- c("58497484", "58544005", "74766653", "74764718", "62824455", "58497484", "58497484")
key <- c("5718368_09/06/1981_3_2014", "2077485_02/06/1977_8_2014", "2091585_23/10/1982_1_2014", "2077388_30/01/2000_11_2017", "2082225_02/07/1998_10_2017", "2077450_04/05/2001_1_2016", "2077477_03/03/1978_8_2017")
data <- as.data.frame(cbind(id, key))
因此,如您所见,ID“58497484”重复了 3 次,但显示了 3 个不同的键。我想要的是在表中列出每个 id 及其各自的键,因此它看起来像这样:
id key
58497484 5718368_09/06/1981_3_2014
2077450_04/05/2001_1_2016
2077477_03/03/1978_8_2017
58544005 2077485_02/06/1977_8_2014
74766653 2091585_23/10/1982_1_2014
74764718 2077388_30/01/2000_11_2017
62824455 2082225_02/07/1998_10_2017
有什么想法可以让我完成这项工作吗?我已经尝试过使用这两个变量的 dplyr 和 group_by,但没有得到所需的输出。
最佳答案
我们可以先排列重复项,然后用空白单元格替换:
library(dplyr)
data %>%
arrange(id) %>%
mutate(id = ifelse(duplicated(id), "", id))
id key
1 58497484 5718368_09/06/1981_3_2014
2 2077450_04/05/2001_1_2016
3 2077477_03/03/1978_8_2017
4 58544005 2077485_02/06/1977_8_2014
5 62824455 2082225_02/07/1998_10_2017
6 74764718 2077388_30/01/2000_11_2017
7 74766653 2091585_23/10/1982_1_2014
关于r - 如何列出与 R 中另一个变量相关的变量的类别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70147701/